标题:2440内核如何实现1ms延时甚至更短?
作者:0354030w
日期:2010-05-15 17:03
内容:
昨天的跑马灯模拟步进电机得驱动现在实现了,但是问题又来了,我使用内核提供得msdelay();函数实现的延时,资料上说内核延时精度只能精确到10ms,但是我用示波器观察下来,数据如下。
msdelay(1);//1ms延时 示波器显示为20ms
msdelay(2);//2ms延时 示波器显示为20ms(和资料上得10ms好像有差距)
msdelay(10);//10ms延时示波器显示为30ms
msdelay(20);//20ms延时示波器显示为50ms
msdelay(30);//30ms延时示波器显示为70ms
msdelay(40);//40ms延时示波器显示为90ms
从数据上看好像每增加10ms得延时 实际增加20ms得误差,又或是我的驱动程序有问题?现在要想步进电机正常工作起码要1ms的延时。请问还有什么方法可以达到1ms延时或者更短。
驱动程序如下,请大家帮忙看下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#1 [0354030w 05-15 17:12]
void Widget::on_pushButton_clicked()
{for(int i=0;i