Witam.
Jestem nowym użytkownikiem forum, a także nowicjuszem jeśli chodzi o programowanie mikrokontrolerów.
Mój problem polega na tym że napisałem prosty program:
#include <avr/io.h>
int main(void)
{
/* Wszystkie linie portu D będą wyjściami */
DDRD = 0xFF;
/* Linie portu B będą wejściami z podciągnięciem do VCC */
DDRB = 0x00;
PORTB = 0xFF;
/* Początek nieskończonej pętli */
for(;
{
/* Przepisanie zawartości PINB do PORTD */
PORTD = PINB;
}
}
I wciąż wynik uzyskuję:
PORTD = 0xF7
I nie wiem czemu tak się dzieje. Dla różnych portów otrzymuję rożne wyniki. Dodamy tylko że sprawdzam to na diodach na zestawie Kamami ZL3AVR.
Jak podłącze np przycisk pod port B3 to program w ogóle na nie go nie reaguje.
Mam przed sobą 2 ATMEgi i obie reagują tak samo.
Był bym wdzięczny o wyjaśnienie mi tego.
Jestem nowym użytkownikiem forum, a także nowicjuszem jeśli chodzi o programowanie mikrokontrolerów.
Mój problem polega na tym że napisałem prosty program:
#include <avr/io.h>
int main(void)
{
/* Wszystkie linie portu D będą wyjściami */
DDRD = 0xFF;
/* Linie portu B będą wejściami z podciągnięciem do VCC */
DDRB = 0x00;
PORTB = 0xFF;
/* Początek nieskończonej pętli */
for(;
{
/* Przepisanie zawartości PINB do PORTD */
PORTD = PINB;
}
}
I wciąż wynik uzyskuję:
PORTD = 0xF7
I nie wiem czemu tak się dzieje. Dla różnych portów otrzymuję rożne wyniki. Dodamy tylko że sprawdzam to na diodach na zestawie Kamami ZL3AVR.
Jak podłącze np przycisk pod port B3 to program w ogóle na nie go nie reaguje.
Mam przed sobą 2 ATMEgi i obie reagują tak samo.
Był bym wdzięczny o wyjaśnienie mi tego.
