-
Data: 2012-01-31 01:41:31
Temat: Re: Obsluga przycisku - atmega8
Od: "Grzegorz Niemirowski" <g...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Pawel <ppf9@USUN_TOpoczta.fm> napisał(a):
> Witam wszystkich
> Co ja robie nie tak?
> Probuje obsluzyc przycisk, ale nie potrafie.
> Przycisk podpiety do PD7. PD7-przycisk-GND
> diody PB0 i PB1
> Pb0-rezystor100Omow-dioda-GND
> to samo z druga dioda.
> #define F_CPU 1000000L /* Częstotliwość kwarcu */
> #include <avr/io.h>
> #include <util/delay.h> /* Kiedyś <avr/delay.h> */
> int main(void)
> {
> DDRB = 0b11111111;
> DDRD = 0b00000000;
> PORTD = 0b11111111;
> for (;;)
> {
> if((PIND & 0b10000000))
> //if(bit_is_clear(PIND,7))
> {
> PORTB |= (1<<0);
> _delay_ms(125);
> }
> else
> {
> PORTB |= (1<<1);
> _delay_ms(125);
> }
> }
> return 0;
> }
Mógłbyś łaskawie napisać co Ci nie działa. Tzn czego oczekujesz a tego nie
ma. Bo z tego co widzę, to kod ogólnie reaguje na przyciski. Obecnie jest
tak, że jeśli przycisk nie jest wciśnięty (na początku), to dzięki
wewnętrznemu podciągnięciu najstarszy bit w PIND będzie ustawiony i włączy
Ci się dioda podłączona do PB0 (o ile podłączyłeś ją w dobrym kierunku).
Jeśli teraz wciśniesz przycisk, to włączy się dioda podłączona do PB1 a stan
diody podłączonej do PB0 nie zmieni się. Analogicznie, jeśli w momencie
włączenia zasilania przycisk był wciśnięty, zaświeci się dioda podłączona do
PB1. W momencie puszczenia przycisku włączy się dioda podłączona do PB0 a
stan diody podłączonej do PB1 nie zmieni się. Twój kod jedynie ustawia bity
portu B a nigdy ich nie zeruje. Jeśli przycisk ma przełączać diody, to w
jednym z ifów zmień
|=
na
&=~
I w sumie to nie wiem po co Ci tutaj opóźnienie.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 5 days, 23 hours, 19 minutes and 35 seconds
Następne wpisy z tego wątku
- 31.01.12 01:50 Grzegorz Niemirowski
- 02.02.12 18:17 Pawel
- 02.02.12 18:36 Grzegorz Niemirowski
- 02.02.12 19:06 Pawel
- 02.02.12 19:47 Grzegorz Niemirowski
- 05.02.12 13:32 MH
- 05.02.12 14:41 Grzegorz Niemirowski
Najnowsze wątki z tej grupy
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- Dalekopis T100 - problem z powrotem karetki
- Diody LED - oświetlenie na choinkę
- ale wiesz, że są gotowce?
- jak wykryć zapalenie żarówki?
- Cyna dylemat
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Kontrola nad prądem - sprawdź jak działa [apka - przyp. JMJ] eLicznik
- NETIA i hasło logowania
- Modulacja FM
- Najgorszy język programowania
- Kol. sukces po polsku: firma Szumisie sp. z o.o.
- Chińska Telefonia 6G - Chcą Nas Sterować Elektrycznie - Jak Kukiełki w Teatrze Lalek!!!
Najnowsze wątki
- 2025-12-25 Finlandia przywraca swastykę
- 2025-12-25 Skuteczność wymiaru sprawiedliwości
- 2025-12-24 Felgi
- 2025-12-24 2,5 x więcej niż Li-Ion
- 2025-12-24 No i kolejny ograniczony
- 2025-12-24 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-12-24 New York Times zagrożeniem bezpieczeństwa narodowego USA - POTUS D. Trump
- 2025-12-24 Podżeganie?
- 2025-12-24 => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-12-24 otwarcie drugiej obwodnicy Trójmiasta
- 2025-12-24 Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- 2025-12-23 Prezent dla kierowców od prezydenta Nawrockiego
- 2025-12-23 Warszawa => Asystent ds. Sprzedaży i Rozwoju Klienta <=
- 2025-12-23 Warszawa => Senior IT Recruitment Consultant <=
- 2025-12-22 czy wiedziałeś że?




7 pułapek i okazji - zobacz co cię czeka podczas kupna mieszkania na wynajem