我目前正在尝试使用简单的完整步骤来控制步进电机。这意味着我目前正在输出这样的一系列值:
1000
0100
0010
0001
我认为一个简单的方法就是取我的 4 位值,然后在每一步之后执行一次右旋转操作。“代码”显然没有遵循任何语法,它只是为了说明我的想法:
step = 1000;
//Looping
Motor_Out(step)
//Rotate my step variable right by 1 bit
Rotate_Right(step, 1)
我的问题是显然没有任何 4 位简单数据类型可供我使用,如果我使用 8 位无符号整数,我最终会将 1 旋转到 MSB,这意味着 4 位我真正感兴趣的值,将变为 0000 几步。
我读过你可以使用结构和位域来解决这个问题,但我从中读到的大部分内容都告诉我这是一个非常糟糕的主意。