这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 串口使用FIFO功能问题

共1条 1/1 1 跳转至

串口使用FIFO功能问题

菜鸟
2005-08-28 03:53:46     打赏

使用FIFO功能可以使用3字节超时中断功能。

现在只有一个问题没有解决。

按照手册说明:在使用FIFO功能下,产生Rx interrupt可以由下列条件:1:Each time receive data gets to the trigger level of receive FIFO, the Rx interrupt will be generated.

2:When the FIFO is not empty and does not receive data during 3 word time, the Rx interrupt will be generated(receive time out).

现在发现如果我的一包数据正好满足2个条件那么怎么处理?程序怎么知道不是超时产生的中断?

在sansung网站下到的资料对超时中断范例:

void __irq Uart0_RxFifoInt(void)
{
rI_ISPC=BIT_URXD0;
// if(rUFSTAT0==0)
// Uart_Printf("time out\n");
while( (rUFSTAT0&0xf) >0 ) //until FIFO is empty
{
keyBuf[keyBufWrPt++]=rURXH0;//rx buffer->keyBuf[]
if(keyBufWrPt==KEY_BUFLEN)
keyBufWrPt=0;
}
}

在我试验后用rUFSTAT0==0判断不出超时中断

。想请问大家有没解决办法?

怀疑超时标志是这样判断。在试过以后其实没有作用。不知道为什么?

http://www.samsung.com/Products/Semiconductor/SystemLSI/MobileSolutions/MobileASSP/MobileComputing/S3C44B0X/S3C44B0X.htm




关键词: 串口     使用     功能     问题    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]