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

[复制链接]
1776|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

粉丝
快速回复 在线客服 返回列表 返回顶部