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

STM32L4 单线协议解析的方法

1219279984@qq.com 2017-09-14 浏览量:1062


QQ图片20170914162120.png
类似于这种单线通讯协议,大家有什么好的读取实现方法,实时性相对高一点的

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 可以用很多方式来实现呀:

    1.外部中断:通过上下边沿触发和定时器相配合。

    2.定时器捕获功能:定时器捕获上下边沿并计数,通过计数来判断01.

    3.定时中断判断:定一个10us的定时器,中断时判断IO口状态,用一个移位寄存器判断0、1数据。

    • 发布于 2017-09-14
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:7
  • 楼主,你要确定数据线上的数据协议格式,方可解析。至于你说的实时性,可以用中断做,按单总线协议设置中断触发条件,如按起始信号的沿边配置中断触发条件。
    • 发布于2017-09-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 非阻塞模式:

    1、外部中断

    2、定时器捕获

    阻塞模式:

    while等待,io翻转读取。

    识别前导码,然后开始读数据

    • 发布于2017-09-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 实时性高的话,推荐楼主使用定时器加DMA方式。每5us触发一次DMA,从IO口读取数据到内存。

    通讯结束之后去内存里计算每个位的值,比如读到00001111111.......算作bit 1;读到111111......0000算作bit 0。

    这种方式读取波形准确,不会受其他程序影响;而且不占用CPU,其他程序可以获得足够的运行时间。

    • 发布于2017-09-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 外部中断或者定时器捕获
    • 发布于2017-09-15
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32L4 单线协议解析的方法