刚刚接触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);
}
希望可以帮到新手解决这个问题。论坛上虽然串口接收很多,但是大多数都没注意到这个问题,因为他们只是接收了数据,却没有检查还能否回到主循环当中。 |