跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1L系列
  4. UART外设接收非定长数据字节数如何获得

UART外设接收非定长数据字节数如何获得

已定时 已固定 已锁定 已移动 YTM32B1L系列
15 帖子 5 发布者 486 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • D 离线
    D 离线
    Diga
    写于2024年8月7日 06:57 最后由 编辑
    #4

    通常,uartState 内会记录从开启传输后,到任意时刻,接收到的数据个数

    image.png

    J 1 条回复 最后回复 2024年10月21日 00:41
    1
    • 赵 离线
      赵 离线
      赵瑞元
      写于2024年8月7日 07:05 最后由 编辑
      #5

      好的,非常感谢!

      1 条回复 最后回复
      0
      • S 离线
        S 离线
        samliu
        写于2024年10月19日 08:22 最后由 编辑
        #6

        发现ME在接收长数据时,容易出现接收不响应现象,短的数据则正常,有办法改善不?

        D 1 条回复 最后回复 2024年10月21日 01:32
        0
        • J 离线
          J 离线
          JMHL
          在 2024年10月21日 00:41 回复了 Diga 最后由 JMHL 编辑 2024年10月21日 08:42
          #7

          Diga 那个好像是剩余个数 要总个数-rxrize 才是接收个数!

          D 1 条回复 最后回复 2024年10月21日 01:25
          0
          • D 离线
            D 离线
            Diga
            在 2024年10月21日 01:25 回复了 JMHL 最后由 编辑
            #8

            JMHL 嗯,所以是 rxSize 而不是 rxCount,另外右边的注释是有介绍这个参数的意义的

            1 条回复 最后回复
            0
            • D 离线
              D 离线
              Diga
              在 2024年10月21日 01:32 回复了 samliu 最后由 编辑
              #9

              samliu ME0的UART应该是中断接收模式,可能是UART通信速率较快,在接收长数据时,如果被其他中断打断或者抢占,会导致有部分数据由于接收Buffer已满而被丢弃,接收数据个数未满足预设值,从而影响最终的传输状态。如果要改善,尽量合理分配程序运行时间与中断优先级,或者降低UART传输速率。

              1 条回复 最后回复
              0
              • S 离线
                S 离线
                samliu
                写于2024年10月22日 01:10 最后由 编辑
                #10

                没有其它中断在跑,只跑串口程序,加大了发数据的间隔,也是会挂机,接收短的数据是正常的,长数据就不行。我们是用串口来进行数据升级。

                1 条回复 最后回复
                0
                • D 离线
                  D 离线
                  Diga
                  写于2024年10月22日 01:15 最后由 编辑
                  #11

                  你说的挂机是什么现象?数据接收有误?数据个数不对?还是什么

                  S S 2 条回复 最后回复 2024年10月22日 02:11
                  0
                  • S 离线
                    S 离线
                    samliu
                    在 2024年10月22日 02:11 回复了 Diga 最后由 编辑
                    #12

                    Diga 刚客户发现问题了,接收的buffer设置的小了,设置为100,实际数据150,所以挂机了,问题解决了,感谢支持!

                    1 条回复 最后回复
                    0
                    • S 离线
                      S 离线
                      samliu
                      写于2024年10月22日 02:17 最后由 编辑
                      #13

                      我说的挂机就是没响应了,也不给接收反馈了

                      1 条回复 最后回复
                      0
                      • S 离线
                        S 离线
                        sailing0505
                        在 2024年11月28日 08:12 回复了 Diga 最后由 编辑
                        #14

                        Diga 想问下,如果不确定接收的数据长度,比如给串口的buffer大小500字节,但是一次性来了600字节,在接收满500字节时是会触发FULL回调,这个时候如何处理,才不至于让后续的501~600造成ERR中断?

                        1 条回复 最后回复
                        0
                        • D 离线
                          D 离线
                          Diga
                          写于2024年11月28日 08:46 最后由 编辑
                          #15
                          1. 如果你是想要丢弃后续数据,那直接关闭接收就行了
                          2. 如果你想继续接收,可以重启那个接收API,换个 buffer 继续接收
                          3. 一般接收不定长,得把长度设大,大于你的预期值
                          1 条回复 最后回复
                          0

                        • 云途论坛规则/Yuntu Forum Rules

                          发帖前请查看

                        • YCT离线License申请流程

                          帮助没办法联网的电脑使用YCT

                        • YT CONFIG TOOL调查问卷

                          帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

                        • demo
                          11
                          can
                          8
                          lin stack
                          5
                          yt-link
                          5
                          vscode
                          3
                          adc模块
                          2
                          i2c
                          2
                          uuid
                          2
                          Online Users
                          • 登录

                          • 登录或注册以进行搜索。
                          • 第一个帖子
                            最后一个帖子
                          0
                          • 版块
                          • 最新
                          • 标签
                          • 热门