写了一个lm3s811 的uart1的接收中断程序
void UART1_ISR(void)
{
unsigned char c;
unsigned int ulStatus;
printf("进入中断
");
ulStatus = UARTIntStatus(UART1_BASE, true); // 读取当前中断状态
UARTIntClear(UART1_BASE, ulStatus); // 清除中断状态
printf("清除中断状态
");
c = UARTCharGet(UART1_BASE);
UARTCharPut(UART1_BASE,c);
printf("退出中断
");
}
此帖出自
小平头技术问答
2. 发送多个才产生一个中断。(1)是不是单片机存在FIFO,接收后存在里面而你没全读出来。(2)你中断函数的写法很不可取,在里面发送数据会导致执行时间巨长,导致中断不能及时响应,数据基本都被覆盖了。所以你可以试着发“abcdefg“看看你接收到的是哪个字符,更容易确定问题的原因。
具体的问题就需要你自己试验了,还有要仔细看他的用户手册,这个才是最权威的。这款芯片我没用过,所以提供不了具体的帮助信息。
一周热门 更多>