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
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要使用TM4C123串口接收8路灰度循迹模块的数据,你可以按照以下步骤进行操作: 1. 配置串口:首先,你需要配置TM4C123的串口模块。选择一个可用的串口模块(如UART0、UART1等),并设置波特率、数据位、停止位等参数,以便与循迹模块进行通信。 2. 连接循迹模块:将循迹模块的输出引脚连接到TM4C123的串口引脚。确保连接正确,并且循迹模块的地线与TM4C123的地线连接在一起。 3. 接收数据:使用适当的代码来接收循迹模块发送的数据。你可以使用UART接收中断或轮询方式来接收数据。 - 使用UART接收中断:在中断服务程序中,读取串口接收寄存器(如UART_DR)的值,该值包含了接收到的数据。你可以将接收到的数据存储到一个数组或其他数据结构中,以便后续处理。 - 使用轮询方式:在主循环中,检查串口接收寄存器是否有新的数据可供读取。如果有,读取并处理数据。 4. 解析数据:根据循迹模块发送数据的格式,解析接收到的数据。根据灰度传感器的数量,你可能需要使用位操作或其他方法来提取每个传感器的数据。 5. 进行相应的处理:根据解析后的数据,进行适当的处理。这可能包括将数据发送到其他模块、进行决策或采取其他操作。 请注意,以上是一个基本的步骤指导,具体的实现细节可能因你使用的开发环境和循迹模块的规格而有所不同。你需要参考TM4C123的技术文档和循迹模块的说明书,以获取更详细的信息和代码示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晓戴阿文

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

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

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

打赏作者

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

抵扣说明:

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

余额充值