-
Data: 2017-03-14 21:21:58
Temat: Re: sdcc i at89c51 - dost?p do pinu "na oko?o"
Od: a...@m...uni.wroc.pl szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Atlantis <m...@w...pl> wrote:
> Ci?g dalszy moich eksperyment?w z archaicznymi mikrokontrolerami. ;)
>
> Ju? kiedy? pyta?em, czy da si? w jaki? spos?b przes?a? wygodn?
> konstrukcj? wskazuj?c? bezpo?rednio na pin (np. "P0_0") za pomoc?
> wska?nika w C. Otrzyma?em odpowied?, ?e si? nie da i musz? to robi? w
> spos?b standardowy.
>
> Natkn??em si? jednak na pewne problemy... Pr?buj? przeportowa? pewn?
> bibliotek? do obs?ugi przycisk?w (debouncing + wykrywanie d?ugiego
> wci?ni?cia). Kod podpatrzony w jednej z ksi??ek pana Kardasia, z paroma
> moimi modyfikacjami.
>
> Generalnie sprowadza si? do tego, ?e mam struktur? opisuj?c? przycisk:
>
> typedef struct key {
> unsigned char *port;
> unsigned char pin:3;
> unsigned char state:4;
> unsigned int timer;
> void (*push_proc)(void);
> void (*long_proc)(void);
> } key_t;
<snip>
> NIE DZIA?A natomiast nast?puj?ca konstrukcja:
>
> key_press = !(*(key->port) & (1<<(key->pin)));
Przy dostepie do portow powinno byc 'volatile', np:
typedef struct key {
volatile unsigned char *port;
....
Twoj problem jest prawdopodobnie zwiazany z at89c51, ale
bez 'volatile' mozesz miec problem na dowolnym procku.
--
Waldek Hebisch
Następne wpisy z tego wątku
- 14.03.17 21:34 Atlantis
- 14.03.17 22:02 Atlantis
- 14.03.17 22:29 Atlantis
- 15.03.17 01:42 J.F.
- 15.03.17 01:46 J.F.
- 15.03.17 07:51 Atlantis
- 15.03.17 08:57 Atlantis
- 15.03.17 09:57 Piotr Gałka
- 15.03.17 10:21 J.F.
- 15.03.17 10:27 J.F.
- 15.03.17 10:50 Piotr Gałka
- 15.03.17 11:16 J.F.
- 15.03.17 16:40 Piotr Gałka
- 15.03.17 17:01 J.F.
- 15.03.17 17:24 Piotr Gałka
Najnowsze wątki z tej grupy
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
Najnowsze wątki
- 2025-07-01 Re: W USA już miliony mieszkają w swoich samochodach
- 2025-07-01 Wakacyjna promocja dla użytkowników samochodów ...
- 2025-07-01 Re: W USA już miliony mieszkają w swoich samochodach
- 2025-06-30 Re: W USA już miliony mieszkają w swoich samochodach
- 2025-07-01 Warszawa => Senior Account Manager <=
- 2025-07-01 Polska => Senior Key Account Manager <=
- 2025-07-01 Re: Prawo do komunii (KRK) [UK/Surrey/Dorking]
- 2025-07-01 Re: Czy Bodnar to prawny Makiawel? [Prawo "w likwidacji"]
- 2025-06-30 Arno van Kessel, [...] holenderski prawnik i krytyk polityki covidowej, został 11 czerwca 2025 roku zatrzymany przez oddział specjalny policji - bez postawionych zarzutów, bez przedstawienia dowodów i bez udziału opinii publicznej.
- 2025-06-30 Re: Prawo do komunii (KRK) [UK/Surrey/Dorking]
- 2025-06-30 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-06-30 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-06-30 Białystok => Programista Mainframe (z/OS, Assembler) <=
- 2025-06-30 Warszawa => International Freight Forwarder <=
- 2025-06-30 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo