Witam.
Jestem tutaj nowy, więc witam wszystkich. Od zawsze nurtowały mnie urządzenia elektroniczne i ich zasada działania, ale nigdy nie miałem dość odwagi aby zacząć.....do niedawna.
Znam podstawy elektroniki i wciąż sie uczę, poznaje także podstawy projektowania uC, lecz mam z tym problem, który wygląda następująco.
Po przeczytaniu kursu AVRGCC z ''DIODY'', nadal nie mogę dojść do pewnego momentu, czyli do obsługi prostego switcha.
tutaj jest kawałek kodu, który zapewne większość z WAS wie jak działa (obsługuje nimi narazie LEDy) . Tak więc poprosił bym o wskazówkę (nie mówie tu o gotowcu)
poprostu kawałek jakiegoś polecenia lub cokolwiek co mogło by mnie naprowadzić na odpowiedz. Otóż nie wiem jak napisać tą częsc kodu, która pozwoli mi na to aby po wcisnięciu jednego z 4 switchy uruchamiała się jakaś sekwencja na LEDach i trwała do momentu wciśnięcia innego switcha i tak w kółko. Poniższy program robi to ale tylko, kiedy przytrzymuje switch, a ja chciał bym go nacisnąc raz i ''ma działać'' do momentu kiedy to zainicjuje kolejny podprogram kolejnym przyciskiem. Proszę naprwadę o pomoc bo myślę nad tym już ze 4 dni ;/ Z góry dziękuje.
[/code]
Jestem tutaj nowy, więc witam wszystkich. Od zawsze nurtowały mnie urządzenia elektroniczne i ich zasada działania, ale nigdy nie miałem dość odwagi aby zacząć.....do niedawna.
Znam podstawy elektroniki i wciąż sie uczę, poznaje także podstawy projektowania uC, lecz mam z tym problem, który wygląda następująco.
Po przeczytaniu kursu AVRGCC z ''DIODY'', nadal nie mogę dojść do pewnego momentu, czyli do obsługi prostego switcha.
tutaj jest kawałek kodu, który zapewne większość z WAS wie jak działa (obsługuje nimi narazie LEDy) . Tak więc poprosił bym o wskazówkę (nie mówie tu o gotowcu)
poprostu kawałek jakiegoś polecenia lub cokolwiek co mogło by mnie naprowadzić na odpowiedz. Otóż nie wiem jak napisać tą częsc kodu, która pozwoli mi na to aby po wcisnięciu jednego z 4 switchy uruchamiała się jakaś sekwencja na LEDach i trwała do momentu wciśnięcia innego switcha i tak w kółko. Poniższy program robi to ale tylko, kiedy przytrzymuje switch, a ja chciał bym go nacisnąc raz i ''ma działać'' do momentu kiedy to zainicjuje kolejny podprogram kolejnym przyciskiem. Proszę naprwadę o pomoc bo myślę nad tym już ze 4 dni ;/ Z góry dziękuje.
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRD = 0xff;
DDRC = 0x00;
PORTC = 0x03;
DDRB = 0x01;
while(1)
{
if(!(PINC & 0x01))
{
PORTB = 0xfE;
PORTD = 0xFE;
_delay_ms(300);
PORTD = 0xFD;
_delay_ms(300);
PORTD = 0xFB;
_delay_ms(300);
PORTD = 0xF7;
_delay_ms(300);
PORTD = 0xEF;
_delay_ms(300);
PORTD = 0xDF;
_delay_ms(300);
PORTD = 0xBF;
_delay_ms(300);
PORTD = 0x7F;
_delay_ms(300);
}
if(!(PINC & 0x02))
{
PORTD=0xff;
_delay_ms(1500);
PORTD=0x99;
_delay_ms(1500);
// kolejne switche
}
}
}