• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

安全模块的串口收发,现在是阻塞等待,想实现非阻塞的

前功尽弃 2019-01-07 浏览量:780
改成非阻塞的收发,需要修改那些地方呢?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 要看是你的哪个芯片了。可以使用中断的方式

    也可以查询串口寄存器的方式,只是当寄存器标志没有置位时,不等待,直接跳出而已

    • 发布于 2019-01-28
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:14
  • 用中断的方式发送和接受,在发送、接收完成后置位标志位。每次发送前检查是否有发送任务。
    • 发布于2019-01-07
    • 举报
    • 评论 3
    • 1
    • 0
2016大圣 回复了 赤心木zqw :点赞 回复
2016大圣 回复了 赤心木zqw :点赞 回复
2016大圣 回复了 赤心木zqw :点赞 回复

2016大圣 回复了 yhj416606438 :点赞 回复

  • 非阻塞最好用中断

    这要看您使用的是哪种库,有没有提供中断接口

    • 发布于2019-01-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 用中斷接收數據   
    • 发布于2019-01-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 用串口中断就行,中断过来视为完成一次发送
    • 发布于2019-01-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 是在单片机中的么,可以使用中断啊,或是查询的方式,没有收到就return
    • 发布于2019-01-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口收发都不可能是阻塞的,都是直接访问寄存器的,估计是你程序写了轮询串口接收标志位来导致阻塞,这个情况下你可以用串口中断。

    • 发布于2019-01-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 中断方式接收,每次调用的时候设置一个标记
    • 发布于2019-01-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 使用中断的方式进行收发就是非阻塞的方式了
    • 发布于2019-01-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 建议用中断的方式处理,这样响应速度会比较快
    • 发布于2019-02-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 常用的方式就是中断,用中断进行快速的处理
    • 发布于2019-02-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以用接收中断的方式,在中断里面处理
    • 发布于2019-02-19
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

安全模块的串口收发,现在是阻塞等待,想实现非阻塞的