Dzień dobry,
Staram się nawiązać komunikację między Atmega32 a PC poprzez RS232, ale co bym nie zrobił w terminalu otrzymuję krzaczki:
"[00][00][00][00][00][00][00][00][00][00][00][00]..."
Zabrakło mi pomysłów co mogę sprawdzić dlatego piszę tutaj.
Poniżej kod programu.
Staram się nawiązać komunikację między Atmega32 a PC poprzez RS232, ale co bym nie zrobił w terminalu otrzymuję krzaczki:
"[00][00][00][00][00][00][00][00][00][00][00][00]..."
Zabrakło mi pomysłów co mogę sprawdzić dlatego piszę tutaj.
Poniżej kod programu.
#include <avr/io.h>
#include <util/delay.h>
//USART
void USART_Init(unsigned int baud);
void USART_Transmit(unsigned char data);
int main(void){
USART_Init(9600);
while(1){
USART_Transmit('b');
_delay_ms(1000);
}
return 0;
}
USART_Init(unsigned int baud){
//Ustawienie BAUD RATE
UBRRH = (unsigned char)(baud>>8);
UBRRL = (unsigned char)baud;
//Włączenie TX i RX
UCSRB = (1<<RXEN) | (1<<TXEN);
// Ustawienie ramki, 8 bitow | 1 bit stopu
UCSRC = (1<<URSEL) | (3<<UCSZ0);
//Tryb asynchroniczny normalny
UCSRA &= ~(1<<U2X);
}
USART_Transmit(unsigned char data){
while( !(UCSRA & (1<<UDRE)) );
UDR = data;
}