十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

TMC5160使用相关问题1

TMC5160使用相关问题1 现象使用stealthChop或spreadCycle模式时老是出现S2VS被设置为1即A相对电压短路。最终原因两个任务一个A任务500ms打印各种寄存器的数据并串口输出一个B任务2ms获取RAMPSTAT寄存器的值但是底层通过SPI获取寄存器值SPI读写接口已经加锁。但是TMC5160对寄存器的读取是分为两步先发送地址再读取数据。导致在某些时刻A任务发送了第一步地址然后被B任务切走B任务读取了RAMPSTAT值再切回A任务时再次获取的就是RAMPSTAT的缓存值而不是DRV_STATUS的值。证据就是DRV_STATUS和RAMPSTAT的值一样。解决方案两个任务对TMC5160寄存器访问的最上层接口加锁解决。
返回列表