Tm003的数据解析

数据传输分析:

        查看手册,如图数据定义:这里可以看出数据每4位一组,一共24位数据,其中最高4位为符号位

        波形:sclk【上升沿】数据有效

                官方给的手册较简陋,如下图为实际抓起波形:

                其中上面一栏为SCLK时钟,下面一栏为SDA数据

     

        与手册中数据格式一致,一共24位数据

方法一:外部中断计时

        可使用外部中断识别时钟上升沿,然后将其数据SDA的电平读取保存,在处理错误数据的时候做一个超时就行。

        该方法效率低,主频不能太低,

方法二:SPI从机读取

        仔细观察波形,可看出是4位SPI波形,实际上可以用8位spi读取数据,同样在处理错误数据的时候做一个超时就行。可以用DMA+SPI或者SPI中断去读取DR寄存器。

        spi配置的话需要注意相位和极性,这里数据格式表明是LSB先发,这个也需要注意一下!

方法三:定时器IC捕获

        之前用STM32 hal库一直被误解,dma其实可以搬运IO口数据(这个要看IO是否挂载在总线上,G0B1不能搬运),实现时只需要重新配置搬运的源地址,建议用LL库。

        和外部中断差不多,只是触发改为定时器上升沿触发DMA搬运IO口数据(SDA),使用方法一的解析程序即可。

其他方法

        不介绍阻塞类,效率太低,

总结

        以上方法均已实践,按照实际需求选取相应的方式,

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓戴阿文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值