打印
[DemoCode下载]

M451系列UART通过FIFO加TIMEOUT的方式接收一帧任意长度的数据

[复制链接]
4706|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
YWBIN|  楼主 | 2015-7-8 15:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
该DemoCode的功能为:UART通过FIFO加TIMEOUT的方式实现接收一帧任意长度的数据,接收完一帧数据后就将接收的数据打印出来。有需要的朋友可以参考下。

M451_UART_FIFO_AND_TIMEOUT.rar

439.22 KB

沙发
gaoyang9992006| | 2015-7-8 15:39 | 只看该作者
看一看这个任意长度帧是如何实现的。

使用特权

评论回复
板凳
gaoyang9992006| | 2015-7-8 15:41 | 只看该作者
*---------------------------------------------------------------------------------------------------------*/
/* ISR to handle UART Channel 0 interrupt event                                                            */
/*---------------------------------------------------------------------------------------------------------*/
void UART0_IRQHandler(void)
{
    uint8_t i = 0;
    uint32_t u32IntSts = UART0->INTSTS;

    if(u32IntSts & UART_INTSTS_RDAINT_Msk)
    {
        for(i=0;i<13;i++)
        {
            g_u8RecData[g_u32RecSize++] = UART_READ(UART0);
        }
    }

    if(u32IntSts & UART_INTSTS_RXTOINT_Msk)
    {
        while(UART_GET_RX_EMPTY(UART0) == 0)
        {
            g_u8RecData[g_u32RecSize++] = UART_READ(UART0);
            g_u8ReceiveFlag = 1;
        }
    }
}

使用特权

评论回复
地板
cowboy2014| | 2015-7-9 09:00 | 只看该作者
看看串口是如何实现接收任意一帧长度的数据

使用特权

评论回复
5
wode112233| | 2015-8-20 20:37 | 只看该作者
学习下

使用特权

评论回复
6
yiyigirl2014| | 2015-8-20 20:44 | 只看该作者
UART通过FIFO加TIMEOUT的方式实现接收一帧任意长度的数据,接收完一帧数据后就将接收的数据打印出来?
怎么修改那个Printf呢?

使用特权

评论回复
7
mintspring| | 2015-8-21 11:56 | 只看该作者
UART通过FIFO加TIMEOUT的方式实现接收一帧任意长度的数据?
FIFO,就是先进先出的方式

使用特权

评论回复
8
syokujinau| | 2017-1-17 23:10 | 只看该作者
謝謝

使用特权

评论回复
9
谧芸| | 2017-3-26 12:50 | 只看该作者
哈哈,好巧妙的用法,满足触发条件时不读完接收缓存的数据

使用特权

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

本版积分规则

21

主题

46

帖子

1

粉丝