在我的应用程序中,我启用uart接收中断只有当app_connection_func运行时,即当我的设备连接到一个电话。连接之前的任何中断都应该被忽略。但一旦我启用uart接收中断。我得到了以前被忽略的中断。为了解决这个问题,我试图在启用uart中断之前重置接收fifo,就像这样:
SetBits16 (UART2_SRR_REG UART_RFR 1);
而((GetWord16 (UART2_SRR_REG) & UART_RFR) = = 1) {}
但它对我不起作用,所以有什么建议我想清除所有以前的uart中断。
Mohit
嗨Mohit3112,
那么,在建立连接之前,不应该初始化uart。表示设置标志,除非建立连接,否则不让uart初始化在peripher_init()中运行。
祝好!
PY
我在连接之前需要UART,但只是为了传输一些数据而不是为了接收数据,所以我必须正常启用UART
谢谢
Mohit
有没有一种方法可以在不读取数据的情况下清除uart的转速缓冲区?
嗨mohit3112,
如果使用fifo模式,可以设置寄存器UART_SRR_REG (0x50001088)的UART_XFR位或UART_RFR位来重置fifo。
的问候!
PY