请教马老师,串口接受结束中断问题!
//ICC-AVR application builder : 2007-12-14 13:55:08// Target : M8515
// Crystal: 4.0000Mhz
#include <iom8515v.h>
#include <macros.h>
static unsigned char Temp;
void port(void)
{
DDRB = 0xFF;
PORTB = 0x00;
DDRD = 0x02;
}
void uart0_init(void)
{
UCSRB = 0x00;
UCSRA = 0x00;
UCSRB = 0xD8; //disable while setting baud rate
UCSRC = 0x86;
UBRRH = 0x00;
UBRRL = 25;
}
#pragma interrupt_handler uart0_rx_isr:iv_USART0_RXC
void uart0_rx_isr(void)
{
Temp = UCSRA;
Temp = UDR;
PORTB = 0x00;
}
#pragma interrupt_handler uart0_tx_isr:iv_USART0_TXC
void uart0_tx_isr(void)
{
}
void init_devices(void)
{
port();
CLI();
MCUCSR = 0x00;
GICR = 0x00;
TIMSK= 0x00;
uart0_init();
SEI();
}
void main(void)
{
unsigned inta;
init_devices();
while(a++ < 65535);
PORTB = 0xFF;
for(;;)
{
while(a++ < 65535);
}
}
PORTB接发光二极管,计算机给单片机发数后,单片机应响应接受结束中断,发光二极管亮。
可现在进不到接受结束中断里去,硬件没有问题,计算机发的数已经到单片机的RXD端。
请各位大侠看看程序上哪有问题?
小弟不胜感谢
急!!!!!!!!!!!! 建议你买本我新出版的教程吧,里面有2章介绍USART的应用,有具体的例子. 教程叫什么啊? 《AVR单片机嵌入式系统原理与应用实践》
上面的帖子中有本书介绍说明和前2篇内容.不过你要的东西需要买书了,不在前2篇中.
页:
[1]