Пытаюсь соединиться с компьютером через COM-порт, но ничего не получается. Для согласования использую MAX3232.
Вот код программы:
Код
#define __AVR_AT90CAN128__ 1
#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
#include <stdio.h>
#include <stdlib.h>
#define F_CPU 73728 //*100
#define UART_BAUD_RATE 96 //*100
#define baudrate ((F_CPU)/((UART_BAUD_RATE)*16)-1)
void putchar_uart (char c);
int main ( void )
{
unsigned char count=0;
DDRE=0x02;
asm("cli");
UBRR0L = (unsigned char)baudrate;// 47 for 9600
UBRR0H = (unsigned char)(baudrate >> 8);// 0 for 9600
UCSR0B = ( 1 << RXEN0 ) | ( 1 << TXEN0 );
UCSR0C = ( 1 << UCSZ01 ) | ( 1 << UCSZ00 );// 8 bit, no parity, 1 stop
asm("sei");
while(1)
{
putchar_uart(count);
count++;
}
}
void putchar_uart (char c)
{
UDR0 = c;
while ( ! ( UCSR0A & ( 1 << TXC0 ) ) );
UCSR0A = (1 << TXC0 );
}
На терминал ПК ни один байт не проходит