打印

关于串口中断接收无法退出中断的问题

[复制链接]
1437|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangyufeng2500|  楼主 | 2015-9-30 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚刚接触PSOC不久,使用串口中断接收数据的时候,发现数据可以接收到,但是无法再退出中断回到主循环当中,查找文档也未能很好的解决,最后通过尝试发现需要增加如下的清楚中断标记的代码才可以成功退出。
我的中断类型是 fifo not empty
CY_ISR(UART_SCB_IRQ_Interrupt)
{
/* Place your Interrupt code here. */
/* `#START UartISR_Interrupt` */
   
char rx_data;

rx_data = UART_UartGetChar(); //读uart
RxSqIn(rx_data);

UART_SpiUartClearRxBuffer();

UART_ClearRxInterruptSource(UART_INTR_RX_NOT_EMPTY);

}
希望可以帮到新手解决这个问题。论坛上虽然串口接收很多,但是大多数都没注意到这个问题,因为他们只是接收了数据,却没有检查还能否回到主循环当中。
沙发
dsll2010| | 2015-9-30 11:06 | 只看该作者
这类问题,先找Creator自带的工程,跑一跑,配合组件的手册,仔细体会组件使用方法,同时熟悉相关的API操作;然后找相关的Application Note,仔细研习TRM中的相关介绍,最后追一下Creator生成的源码,看看内部是如何实现的。

使用特权

评论回复
板凳
wangyufeng2500|  楼主 | 2015-9-30 13:17 | 只看该作者
dsll2010 发表于 2015-9-30 11:06
这类问题,先找Creator自带的工程,跑一跑,配合组件的手册,仔细体会组件使用方法,同时熟悉相关的API操作 ...

:handshake 学习学习

使用特权

评论回复
地板
小小财迷| | 2015-10-6 13:17 | 只看该作者
无法退出,有没有排除是不是一直有数据发过来触发了中断?软硬件都要检查。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

57

帖子

1

粉丝