PIC16F1847 a falesne spinani vstupnich pinu na portu RA
Jaromir Sukuba
jarin.hw na gmail.com
Pondělí Květen 27 14:43:57 CEST 2013
To mate pravdu - ale nejaky debouncing je predsa absolutne samozrejma vec,
ktoru sa ucia deti v skolke, nie? ;-) (samozrejme, ze nie - staci si
prezriet internetove fora)
Tu kolegovia hladaju zapnute / vypnute nejake periferie, co je IMHO celkom
mimo.
Okrem toho skrtat skrutkovacom po pinoch prinasa rozlicne vysledky - podla
toho co mate oblecene, na com sedite/stojite/lezite, aka je vlhkost vzduchu
a tak.
Takze najprv to osetrit na EMC (kondik, transil) - co je vec, ktora musi
ist na akekolvek tlacidlo - a potom sa pripadne pohrat s debouncingom aby
bol viac ci menej citlivy na "rusenie".
2013/5/27 Pavel Hudecek <edizon na seznam.cz>
> No, ne tak docela. V mých zařízeních mám vstupy SW ošetřené tak, že se
> podobné problémy nedějí, přestože výchozí hodnotu definuje odpor řádově
> vyšší. Pinzetu k testování používám často a dokud piny skutečně nespojím,
> "stisk tlačítka" se nekoná.
>
> Nejčastěji používám něco v tomto stylu:
>
> Program v pravidelných intervalech, nejčastěji 1/ms kontroluje hodnotu.
> Pamatuje si původní stav a má-li dojít ke změně, musí nový stav detekovat v
> souvislé řadě, např. 16x za sebou.
>
> Skutečnou EMC odolnost lze dále zvýšit přítomností C paralelně ke vstupu,
> ale jak již bylo řečeno, nesmí se zapomenout na další R, který ochrání
> tlačítko před postupným zničením.
>
> PH
>
> From: "Jaromir Sukuba" <jarin.hw na gmail.com>
>
> Mozno som nieco zasadne prehliadol, ale - to, ze po skrkani skrutkovacom po
> IO pinoch dochadza k bezhlavemu skakaniu logickych hodnot snad nema nic
> spolocne so softwarovymi zalezitostami.
> To, co s tym skrutkovacom robite je EMC testovanie z ktoreho vyplvya iba
> to, ze na IO piny sa nesiaha bez adekvatnej ochrany. Tym 100nF kondikom bol
> vykonany prvy krok.
>
> 2013/5/27 Milos Sula <sula na rps.cz>
>
>> Tak jsem otočil polaritu spínání, a teď spínám proti GND a problém
>> přetrvává. Jediné co pomohlo je 100nF paralelně na tlačítko.
>> ANSEL a komparátory jsou vypnuté ( vysledny ASM jsem nezkoumal - nevyznám
>> se v tom, debugovat nelze - mám jen PICKIT2 ), ale přikládám pro jistotu
>> .lst. Kapacitní snímače mě také napadly, ale nikde je nezapínám a pokud je
>> v ccsc neinicializuji, tak by měli zůstat vypnuté ....
>>
>> .................... SET_TRIS_B(0b11111000);
>> 0289: MOVLW F8
>> 028A: TRIS 6
>> .................... SET_TRIS_A(0b00111110);
>> 028B: MOVLW 3E
>> 028C: TRIS 5
>> .................... port_b_pullups(0b11111000);
>> 028D: MOVLW F8
>> 028E: MOVLB 04
>> 028F: MOVWF 0D
>> 0290: MOVLB 01
>> 0291: BCF 15.7
>> ....................
>> .................... setup_adc( ADC_OFF );
>> 0292: BCF 1D.0
>> .................... setup_adc_ports(NO_ANALOGS);
>> 0293: BCF 1E.0
>> 0294: BCF 1E.1
>> 0295: BCF 1E.2
>> 0296: MOVLW 00
>> 0297: MOVLB 03
>> 0298: MOVWF 0C
>> 0299: MOVWF 0D
>> .................... setup_comparator(NC_NC_NC_NC );
>> 029A: MOVLB 02
>> 029B: CLRF 12
>> 029C: CLRF 11
>> 029D: CLRF 14
>> 029E: CLRF 13
>>
>> Dne 27.5.2013 12:41, Andrej Jancura napsal(a):
>>
>>> tiez si myslim, ze je cosi zle nastavene. Okrem registrov TRIS, treba
>>>
>>> este nastavit analogove piny ( register ANSEL), pripadne vypnut
>>> komparatory
>>> a hlavne sa pozriet ci tam nie su zapnute kapacitne snimace CAPSense
>>> mTouch. Tie totiz strkaju uplne vsade, aj tam, kde ich netreba.
>>>
>>
> ______________________________**_________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/**listinfo/hw-list<http://list.hw.cz/mailman/listinfo/hw-list>
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20130527/73187f91/attachment.htm>
Další informace o konferenci Hw-list