eoznaruto 发表于 2010-4-25 15:06:21

关于电机驱动的一个小问题 快被折磨疯了

最近想参加一个小车比赛,首先就要驱动电机转动,我用的是ATMEGA128的芯片,用PB0口控制控制正反转,PB4口控制PWM波的输出,PB0接到L298p的input1然后分出一根接到74hc04再接到input2上 ,这样当PB0为一的时候电机正转,为零的时候反转。
写程序的时候单正传可以,单反转也可以,但是不明白的是为什么正转延迟5秒后再执行反转会失败?
#define M1_R PORTB|=_BV(PB0)
#define M1_L PORTB&=~_BV(PB4)


当在main函数中写
M1_R时 电机正转
写M1_L时 电机反转
但是当写
M1_R;
Delay1s(5);
M1_L;
Delay1s(5); 时
电机直接反转而不执行正转
想请各位大侠,帮帮小弟讲讲怎么回事,说实话,因为自己是新手,所以不管各位怎么基础点讲都好!
是不是电机在执行正转是 必须有一个自己转的时间 然后再让延迟大于电机的转动时间?
因为中断函数用的也不是很熟练,希望能有大侠能举个例子进行示范讲解,万分感激!
页: [1]
查看完整版本: 关于电机驱动的一个小问题 快被折磨疯了