Спасибо вам огромное!!Инит действительно рабочий. Только вот ещё закавыка-как проверять, что байт ушел? Если я пишу так:
Код: Выделить всё
#include <intrinsics.h>
#include<ioavr.h>
#include <iotiny2313.h>
#define F_CPU 8000000
#define BAUDRATE 9600
main()
{
unsigned char data='P';
UBRRL = F_CPU /16 /BAUDRATE -1; /* set baudrate *//*изменено*/
/* UCR |= _BV(TXEN) | _BV(RXEN) | _BV(RXCIE); *//* activate sending and receiving */
UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE); /*изменено*/
while(1)
{
UDR=data;
__delay_cycles(F_CPU/2);
}
}
То каждые полсекунды в терминалке пишется буква "P". А если так:
Код: Выделить всё
#include <intrinsics.h>
#include<ioavr.h>
#include <iotiny2313.h>
#define F_CPU 8000000
#define BAUDRATE 9600
main()
{
unsigned char data='P';
UBRRL = F_CPU /16 /BAUDRATE -1; /* set baudrate *//*изменено*/
/* UCR |= _BV(TXEN) | _BV(RXEN) | _BV(RXCIE); *//* activate sending and receiving */
UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE); /*изменено*/
while(1)
{
if(UDRE==1)
{
UDR=data;
__delay_cycles(F_CPU/2);
}
}
}
То в терминалке вообще пусто
Как все же узнать, что байт ушел(потом это проверять буду прерыванием, но сначала нужно так разобраться)?
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....