USART на Atmega8535 работает странно
Добавлено: Сб апр 17, 2010 00:01:49
подключил генератор на 4M. по расчету для скорости на 9600 нужно 25 в константу. но когда смотрю на выходе передачика 8 бит данных передается на 50 мс. и при настройке на компе приемника на 160 принемает данные.
подключил генератор на 8M. изменил константу на 12 и скорость на 320 тоже все идет норм.
void USART_INIT( void ){
UBRRL = 25;
UBRRH = 0;
UCSRB |= RXEN;
UCSRB |= TXEN;
UCSRB |= TXCIE;
UCSRB |= RXCIE;
UCSRC = 0x06;
UCSRC |= URSEL;}
void send_UART(void){
while (!( UCSRA & UDRE));
UDR=0x0F;}
void main(void)
{ USART_INIT();
while(1){send_UART(); }}
подключил генератор на 8M. изменил константу на 12 и скорость на 320 тоже все идет норм.
void USART_INIT( void ){
UBRRL = 25;
UBRRH = 0;
UCSRB |= RXEN;
UCSRB |= TXEN;
UCSRB |= TXCIE;
UCSRB |= RXCIE;
UCSRC = 0x06;
UCSRC |= URSEL;}
void send_UART(void){
while (!( UCSRA & UDRE));
UDR=0x0F;}
void main(void)
{ USART_INIT();
while(1){send_UART(); }}