各位大哥,我用STM32F103的串口,怎么老是进发送中断啊

tianlanxiaoyao 2012-05-07 09:59:43
如题,我用的是STM32F103ZET6,UART4,一开接收中断,就不停的进中断,下面是我中断处理的代码
//UART4中断服务程序
void UART4_Isr(void)
{
if(USART_GetITStatus(UART4,USART_IT_RXNE))
{
OSSemPost(UartRxSem);
USART_ClearITPendingBit(UART4,USART_IT_RXNE);
}
if(USART_GetITStatus(UART4,USART_IT_TXE))
{
OSSemPost(UartTxSem);
USART_ClearITPendingBit(UART4,USART_IT_TXE);
USART_ClearFlag(UART4,USART_FLAG_TXE);
//USART_ITConfig(UART4,USART_IT_TXE,DISABLE);
}
}

各位大哥,帮小弟看看是肿么回事啊
...全文
1436 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dikun998 2012-05-20
  • 打赏
  • 举报
回复
碰见过,就是串口配置问题,中断使能后等接收或是发送完成后要关闭使能,下次发送或是接收的时候在使能就ok了
waszyaw 2012-05-18
  • 打赏
  • 举报
回复
1楼的办法可以。
lp348305362 2012-05-10
  • 打赏
  • 举报
回复
配置串口中断使能的时候,要先清除一次发送中断标志位。
Mars 2012-05-10
  • 打赏
  • 举报
回复
没用用过这种类型的片子,但有好些其他的出现这种情况是没有读接收数据,因此会一直会进接收中断
bsnow 2012-05-09
  • 打赏
  • 举报
回复
没用过STM32F103ZET6,但是根据51经验。串口发中断和收中断都是一个中断号(中断函数地址一样),只有在中断函数里面判断是发中断还是收中断。不知道你用的单片机是否类似。
stude 2012-05-09
  • 打赏
  • 举报
回复
还有另外一种情况会进中断,空中断,是不是你配置的为题啊
tianlanxiaoyao 2012-05-08
  • 打赏
  • 举报
回复
接收中断,是正常的,就是发送中断不对,这个,SET的值是1,逻辑真,应该没问题的,但是就是只要已启动发送中断,就不停的进,不停的进,我现在就只有发送完成了就关闭发送中断才可以
折剑 2012-05-08
  • 打赏
  • 举报
回复
if(USART_GetITStatus(UART4,USART_IT_RXNE) != RESET)
{

.......
USART_ClearITPendingBit(UART4,USART_IT_RXNE);
}

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧