本教程介绍步进电机驱动和细分的工作原理(13)
发布时间:2021-06-07
发布时间:2021-06-07
0 0 0 0 0
0 1 0 1 128
1 0 1 1 256
1 1 1 0 256+128
0 0 0 0 512
A相的逻辑和C8相同,B相的逻辑能看出来吗?B相逻辑是C8异或C7。程序上很简单,每次stepcounter值变化时执行:
A相IO控制位值=setpcounter第7位值;
B相IO控制位值=A相IO控制位值^setpcounter第8位值;
两句极性就被更新了,不管正转、反转极性输出总是对的,这里结合stm32的位带操作更好。上述内容对细分度为256,128,64...时成立,如果N不为2整数幂则会有余数个错位,N取值(即细分度)很小时影响比较大,但不会产生极性错误。
下一篇:2013数学建模美赛翻译