查看: 4261|回复: 6

[已解决] 关于KL16的串口中断接收问题,请大大们指教

[复制链接]
  • TA的每日心情
    奋斗
    10 小时前
  • 签到天数: 1678 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    8

    主题

    1708

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5244
    最后登录
    2025-7-20
    发表于 2018-10-13 15:16:34 | 显示全部楼层 |阅读模式
    在调串口的时候发现一个问题,程序如下:
    void  UART2_IRQHandler (void)
    {
            uint8_t c;
           
        UART_MemMapPtr uartPtr = UART2_BASE_PTR;              
           
        if ((UART_S1_REG(uartPtr) & UART_S1_RDRF_MASK)&& ((UART_C2_REG(uartPtr) & UART_C2_RIE_MASK)))
       {                              
                    Uart2Rx[Uart2RxNum]=(uint8_t)(uart2GetChar());
                    Uart2RxNum++;
                   
                    if(uart2GetChar()==0x31)
                    {
                            Uart2Complete=1;
                    }
        }

    }
    发现在缓冲区Uart2Rx里,数据接收的不全,不过去掉红色的这块,就能完全接收
    如果没有判断字尾,处理函数就没法处理了
    请教各位大大,该怎么做?

    最佳答案

    协议最好加头,长度,数据,CRC认证。 还有中断中接到之后,直接判断你接收的buff去判断头尾,不要再重新读取判断。
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-6-18 08:45
  • 签到天数: 812 天

    连续签到: 1 天

    [LV.10]以坛为家III

    66

    主题

    4899

    帖子

    64

    金牌会员

    Rank: 6Rank: 6

    积分
    6321
    最后登录
    2025-7-15
    发表于 2018-10-13 16:06:20 | 显示全部楼层
    你这个协议本身的问题,出错率高,所以会导致不全,修改协议吧

    评分

    参与人数 1 +1 收起 理由
    NXP管管 + 1

    查看全部评分

    开心
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    10 小时前
  • 签到天数: 1678 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    8

    主题

    1708

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5244
    最后登录
    2025-7-20
     楼主| 发表于 2018-10-15 08:29:19 | 显示全部楼层
    原来的你 发表于 2018-10-13 16:06
    你这个协议本身的问题,出错率高,所以会导致不全,修改协议吧

    那该怎么修改呢
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-6-18 08:45
  • 签到天数: 812 天

    连续签到: 1 天

    [LV.10]以坛为家III

    66

    主题

    4899

    帖子

    64

    金牌会员

    Rank: 6Rank: 6

    积分
    6321
    最后登录
    2025-7-15
    发表于 2018-10-15 08:41:08 | 显示全部楼层

    自己去看下协议帧,找一个demo就可以用了
    开心
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24879
    最后登录
    2025-7-20
    发表于 2018-10-16 13:28:17 | 显示全部楼层
    协议最好加头,长度,数据,CRC认证。
    还有中断中接到之后,直接判断你接收的buff去判断头尾,不要再重新读取判断。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    10 小时前
  • 签到天数: 1678 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    8

    主题

    1708

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5244
    最后登录
    2025-7-20
     楼主| 发表于 2018-10-18 08:24:56 | 显示全部楼层
    谢谢大家,问题解决了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24879
    最后登录
    2025-7-20
    发表于 2018-10-18 14:47:37 | 显示全部楼层
    jian0052 发表于 2018-10-18 08:24
    谢谢大家,问题解决了

    好的,后续如果还有问题,欢迎继续发帖交流!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 20:00 , Processed in 0.140343 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表