witam
kurcze nie moge sobie poradzic z podpieciem AVR'a do pc'ta wykorzystujac UART'a korzystam z WinAVR i oto procedury ktore wykorzystuje:
#include <avr/io.h>
void ioinit (void) { unsigned int baud = 71; UBRRH = (unsigned char) (baud>>8); UBRRL = (unsigned char) baud; UCSRB = (1<<RXEN)|(1<<TXEN); //8bit, 2 bity stopu UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0); }
int main(void) { ioinit(); unsigned char data = 0;
while (data<200) { while ( !(UCSRA & (1<<UDRE)) ) {}; UDR = data;
data++; } return (0); }
kabel mam podlaczony w nastepujacy sposob: we wtyczce do pc'ta: zwarte piny 1(DCD)-4(DTR)-6(DSR) oraz 7(RTS)-8(CTS)
2(RxD) ------------------------------ TxD w AVRATmega32 3(TxD)------------------------------- RxD w AVRATmega32 5(SGND)---------------------------- GNDwlaczam hyperterminala i albo dostaje jakies bzdury albo w ogole nic nie dostaje (tak jest w wiekszosci przypadkow) moze ktos wie co moge robic nie tak bo juz nie mam pomyslow oczywiscie w hyperterminalu ustawiam transmisje
9600, 8bitow danych, 2 bity stopu, parzystosc - brak, sterowanie przeplywem - sprzetjesli ktos zobaczy jakis blad to prosze o jakakolwiek wskazowke
z gory dzieki Krzysztof