Błędy widoczne na pierwszy rzut oka:
[1] Powtarza się sytuacja z define tj. poprzednio. Znowu będą dwa średniki w inicjacji kierunku działania portów.
[2] (mało istotne) Nie wykorzystujesz frazy:
w programie więc jest zbędna - usuwamy.
[3] Dobry nawyk - inicjacja portów przed deklaracją zmiennych... chyba że znajdują się poza funkcją
main.
Tak poprawiony program:
Kod: Zaznacz cały
#include <avr/io.h>
int main(void)
{
DDRB = 0b0000000; // ustawiony cały port B jako wejście
DDRD = 0b1001111; // bity 5 i 6 jako wejście reszta wyjście
PORTB = 0b1111111; // podciągnięcie wejścia do plusa zasilania
PORTD = 0b1111111; // -||-
int show[10];
show[1] = 0b0000110;
show[2] = 0b1011011;
show[3] = 0b1001111;
show[4] = 0b1100110;
show[5] = 0b1101101;
show[6] = 0b1111101;
show[7] = 0b0000111;
show[8] = 0b1111111;
show[9] = 0b1101111;
show[0] = 0b0111111;
for(;;)
{
}
return(0);
}
I teraz pytanie do Ciebie, co chcesz osiągnąć? Tzn. co ten program ma robić? Jakim portom przypisujesz zadanie sterowania wyświetlaczem? Jest to wys ze wspólną anodą czy katodą?
[ Dodano: 2008-08-13, 19:35 ]
snow pisze:tablice powinieneś zadeklarować:
Kod: Zaznacz cały
char tablica[10]={element0,element1,....,element9}
PORTB ustala stan na wyjściu czyli czy jest podciągnięty do plusa czy nie, DDRB jedynie definiuje ktory pin jest wejściem a który wyjściem.
jest zadeklarowana w funkcji main