-
Data: 2013-06-04 22:30:30
Temat: Re: Burza i kłopoty w MCU...
Od: sundayman <s...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
> To nie pomoże.
> Pokaż lepiej fragment pętli, gdzie odczytujesz stan klawiszy i gdzie masz
> kasowanie tej zmiennej od klawiszy.
> Raczej wydaje mi się, że przeskoczył rejestr i ma taką wartość,
> na którą program nie jest przygotowany i ciągle reaguje.
> Np.
> 1) odczyt klawiszy BIT1 i BIT2
> 2) sprawdzasz czy są naciśnięte po kolei BIT1=0, BIT2=0 itp.
> 3) Jeśli jest różne od FF zakładamy, że są 2 wciśnięte równocześnie.
> 4) Tak>włączasz silnik
> 5) kasujesz BITY1 i 2
> 6) zapętlasz do 1, a program ciągle uznaje, że ma wciśnięte klawisze.
> Nie wiem, czy czujesz co mam na myśli, ale jakoś tak mi to wygląda.
> Burza ustała, a program uważa, że ma ciągle wciśnięte klawisze, bo może
> wpływ na warunek mają inne, nieużywane bity.
Rozumiem oczywiście, ale jest jak piszę.
W pętli głównej , gdzie są sprawdzane klawisze, po prostu kolejno
testowane są linie wejściowe. I zależnie od ich stanu wykonywany jest
wskok w określoną procedurę.
Więc naciśnięcie więcej niż jednego klawisza powoduje wejście kolejno
w procedurą X(klawisz x), potem Y(klawisz y) itp.
Nie były stosowane żadne pośrednie zmienne. Po prostu reakcja na
fizyczny stan linii. Poza tym, jak wspomniałem program działa na kilku
urządzeniach przez dłuższy już czas, i nie było z tym problemu.
Tak, że na pewno nie było to problem od strony programu. Dlatego też
, zanim o 6 rano w łóżku wpadłem na rozwiązanie, to przez ileś godzin
gapiłem się w monitor i myślałem "to niemożliwe, to niemożliwe..." :)
Wiem, że to bardzo chyba rzadki przypadek. No, ale skoro taki jest fakt,
to trzeba się z nim pogodzić :)
Teraz wprowadzam modyfikacje w programie, polegające na tym, że
1) klawisz musi być puszczony przez ponowną aktywacją
2) normalnie klawiatura jest "zablokowana", jedynie jeden przycisk
uaktywnia możliwość wpisania hasła , które odblokowuje klawiaturę.
3) wykrycie naciśnięcia więcej niż 1 przycisku wywołuje błąd (zapis w
pamięci zdarzeń, potem autoreset, po 3 takich autoresetach trwałe
wyłączenie).
4) oczywiście zewnętrzne rezystory podciągające.
5) powłoka z EMI-35 połączona z masą zasilania
I myślę, że powinno być ok. Dopóki nie wydarzy się coś innego :)
Następne wpisy z tego wątku
- 05.06.13 01:05 jg
- 05.06.13 01:25 Sylwester Łazar
- 05.06.13 01:53 Mario
- 05.06.13 02:06 Mario
- 05.06.13 10:51 Leming Show
- 05.06.13 16:33 sundayman
- 05.06.13 16:48 sundayman
- 05.06.13 18:33 sundayman
- 05.06.13 19:28 Jarosław Sokołowski
- 05.06.13 23:41 Mario
- 06.06.13 11:39 Jarosław Sokołowski
- 10.06.13 11:00 Adam Wysocki
Najnowsze wątki z tej grupy
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
Najnowsze wątki
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-28 droga laweta
- 2024-11-28 Co tam się odpierdala w tej Warszawie?
- 2024-11-28 skąd się biorą tacy debile?
- 2024-11-28 JDG i utylizacja sprzetu
- 2024-11-27 Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- 2024-11-28 Katowice => Technical Artist <=
- 2024-11-28 Katowice => Technical Artist <=
- 2024-11-28 Bydgoszcz => QA Engineer <=
- 2024-11-28 Zielona Góra => Spedytor międzynarodowy <=
- 2024-11-28 Kraków => DevOps Engineer (Junior or Regular level) <=