Проблема с приемом данных в Atmega128
Что бы я не передавал в ком порт, и не считывал, в UDR всегда записано значение 0xff
вот инициализация
- Код: Выделить всё
void uart1_init(void)
{
UBRR1L=1; // 250000 бит/с при такт частоте 8 МГц без удвоения
UBRR1H=0;
UCSR1A=0x80; // RXCn TXCn UDREn FEn DORn UPEn U2Xn MPCMn
// сбросить бит окончания приема
UCSR1B=0xd8; // RXCIEn TXCIEn UDRIEn RXENn TXENn UCSZn2 RXB8n TXB8n
// разрешить прервывание по окончанию приёма, прервывание окончанию передачи,
// приём, передачу
UCSR1C=0x0e; // - UMSELn UPMn1 UPMn0 USBSn UCSZn1 UCSZn0 UCPOLn
// нет чётности, 2 стоп бита, 8 битов данных
}
- Код: Выделить всё
ISR(USART1_RX_vect)
{
unsigned char c,s;
s=UCSR1A;
c=UDR1;
}
даже если сделать так, что бы UDR точно сбрасывался, все равно значение 0xff
- Код: Выделить всё
ISR(USART1_RX_vect)
{
unsigned char c,s;
UDR1;
s=UCSR1A;
c=UDR1;
}
в чем тут дело подскажите плиз