tanglyde 2023-02-07 13:59 采纳率: 42.9%
浏览 106
已结题

关于STM32的SPI和ENDAT接口编码器通信的问题

想编写STM32和ENDAT接口的编码器通信的程序,但是在阅读ENDATA协议时,发现它的时序是如下图

img


主机发送数据结束后过去四个时钟上升沿才会开始接收从机数据,可我看STM32的开发手册中SPI时序模式由CPOL和CPHA来控制,并没有说明数据采集的时间,有没有人知道这个应该怎么写呢

  • 写回答

6条回答 默认 最新

  • DawnandGloaming 2023-02-07 14:16
    关注

    要实现STM32和ENDAT接口的编码器通信,需要满足ENDAT协议中的时序要求,可以采用如下步骤:

    1. 配置STM32的SPI模式,设置CPOL和CPHA及其他参数;
    2. 利用STM32芯片的定时器功能,在定时器中断中编写代码,每四个时钟上升沿触发一次定时器中断;
    3. 在定时器中断中,调用STM32的SPI接口,实现数据的接受和发送;
    4. 定时器中断服务函数中,编写ENDATA协议所需的接收和发送逻辑,满足ENDATA协议的时序要求。
    评论

报告相同问题?

问题事件

  • 系统已结题 2月15日
  • 创建了问题 2月7日

悬赏问题

  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!
  • ¥15 这个如何解决详细步骤