|
|
Мне непонятно даже, почему возникает первое прерывание, т.к. я ничем не гружу (в основной программе) регистр UDR0. Как видите, обработчик прерывания достаточно короток.
#include "project.h"
#pragma vector=0x48
__interrupt void USART0_RXC(void);
#pragma vector=0x4C
__interrupt void USART0_UDRE(void);
#pragma vector=0x50
__interrupt void USART0_TXC(void);
// Enable receiver and transmitter, + разрешение прерываний по передаче и приему байта } __interrupt void USART0_TXC(void)
E-mail:
info@telesys.ru
void USART0_Init (unsigned char baud)
{
UCSR0A=(1<
UBRR0L=(unsigned char)(baud);
UCSR0B=(1<
// set format: 8data, 2stop bit
UCSR0C=(1<
__interrupt void USART0_RXC(void)
{
PORTA=0xFF; // просто так, для проверки
PORTA=0xFF; // просто так, для проверки
{
UDR0=0x25;
Pause(3);
}
Ответы