Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    T113-S3 CAN 跑一段时间后,能接收数据但是发送不出数据

    Linux
    2
    3
    1011
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      a892755772 LV 5 last edited by

      如题,有人碰到过类似的情况吗

      P 1 Reply Last reply Reply Quote Share 1
      • P
        Pz_zP1 LV 3 @a892755772 last edited by

        @a892755772 你好,我也碰到了这个问题,请问你有定位到是什么原因吗?

        P 1 Reply Last reply Reply Quote Share 1
        • P
          Pz_zP1 LV 3 @Pz_zP1 last edited by

          @pz_zp1
          传输逻辑:CAN控制器驱动中对于传输的网络包会进行流量控制,当控制器可以发送时,会阻止新的数据包从网络协议栈进入设备驱动的发送队列,在发送完成后会触发中断,在中断处理函数中唤醒被暂停的发送队列,允许新数据包进入。
          问题原因:是在暂停发送队列并传输当前数据包时,出现异常情况导致未生成传输完成中断,因此一直未唤醒被暂停的发送队列。
          解决措施:可以增加一些恢复措施如定时器功能,在开始传输时启动定时器,传输完成中断中关闭定时器;定时回调接口中,结合相关寄存器值以及传输队列的状态,来主动唤醒传输队列。

          1 Reply Last reply Reply Quote Share 1
          • 1 / 1
          • First post
            Last post

          Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

          行为准则 | 用户协议 | 隐私权政策