步进电机中延时函数中的值如何确定

我的步进电机是28BYJ-48的,参数如下图所示,然后我现在的代码中有一段是这样的:void BGdelay(unsigned int n){uint b;for(n;n>0;n--)for(b=96;b>0;b--)}想问下为什么要定义两个变量,然后b的初始值为什么要设定为96

这个延时函数是由两层for循环嵌套构成的,外层循环由变量n决定,且n亦是函数的参数变量,函数调用时通过变量n的传递决定了外层循环次数,而b是内层循环的变量,它决定了内层循环体的执行次数,之所以设置两个变量的目的就是要通过循环嵌套增加延时时间,至于为什么变量b赋值为96,显然是由于当n=1时,96*T(机器周期)刚好等于一个单位延时时间比如1uS或1mS,具体延时时间与单片机的类型与时钟频率有关。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-04
软延时一般用于对时间要求不精确的场合。单 片机不一样,延 时时间也不一样,与单片机型号和晶振频率有关。晶振频率高则延时时间短,另外,象51单片机,同样的晶振频率,还分1T 6 T 12T等,运行速度差别很大,延时时间也就相差很大,需实际试验或软件仿真确定。本回答被网友采纳
第2个回答  2018-06-02
……
第3个回答  2018-06-02
要看你的控制器时钟周期算96次运算是多少时间
第4个回答  2018-06-02
手机手表发出来没有
相似回答