port C w ATmega32

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Skow
-
Posty: 8
Rejestracja: 08 lut 2006, 22:32
Lokalizacja: Gliwice
Kontakt:

port C w ATmega32

Post autor: Skow » 10 mar 2006, 14:42

Witam

Mam nastepujacy problem z AVR'em. Otoz nie moge ustawic odpowiednich stanow na porcie C w ATmega32. Np. kiedy probuje ustawic na nich poweidzmy same zera, na 4 z nich pojawiaja sie jedynki, albo proboje ustawic cos takiego 01010101 to ustawiaja sie same zera.
Czy moze to miec cos wspolnego z JTAGiem?

Obecnie napisalem program ktory powinien ustawic na PC 11010101 a ustawia 11111101

Oto kod zrodlowy:


#include <avr/io.h>
#define LED_OFF sbi(PORTD,PD0)
#define LED_ON cbi(PORTD,PD0)

void delay(unsigned int t)
{

int i,j;

for (j = 0; j < t; j++)
for (i = 0; i<=900; i++);

}


int main (void)
{
delay(2000);

sbi(DDRD,PD0);
sbi(DDRC,PC0);
sbi(DDRC,PC1);
sbi(DDRC,PC2);
sbi(DDRC,PC3);
sbi(DDRC,PC4);
sbi(DDRC,PC5);
sbi(DDRC,PC6);
sbi(DDRC,PC7);

LED_ON;
delay(200);
LED_OFF;

while(1)
{
sbi(PORTC,PC0);
cbi(PORTC,PC1);
sbi(PORTC,PC2);
cbi(PORTC,PC3);
sbi(PORTC,PC4);
cbi(PORTC,PC5);
sbi(PORTC,PC6);
sbi(PORTC,PC7);
}

return(0);
}

Jestem poczatkujacy wiec prosze o odpowiedz jak dla 4-latka :)

Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 10 mar 2006, 15:31

Interfejs JTAG jest domyślnie włączony i blikuje przyporządkowane mu linie. Aby go wyłączyć należy odznaczyć bit JTAGEN w Fuse High Byte.

Skow
-
Posty: 8
Rejestracja: 08 lut 2006, 22:32
Lokalizacja: Gliwice
Kontakt:

Post autor: Skow » 10 mar 2006, 15:57

ok, dziala, dzieki

a jeszcze takie pytanie
czy jezeli ustawie port jako wyjscie - sbi(DDRC,PC0), raz na poczatku programu, to czy bedzie on tak ustawiony do konca, czy trzeba to "odnawiac"?

Awatar użytkownika
marcing
Użytkownik
Posty: 868
Rejestracja: 14 lut 2006, 14:13
Lokalizacja: z pociągu...
Kontakt:

Post autor: marcing » 10 mar 2006, 21:43

Witam!

Nie ulegnie to zmianie - chyba, że chcesz przestawić. Jedną z sytuacji, kiedy byłoby możliwe przestawienie stanu i/lub funkcji portu jest wykorzystanie funkcji alternatywnych (przy tych portach, które takie mają).

Pozdrawiam!

Marcin G.

ODPOWIEDZ