2019-12-10 18:15发布
error_dan 发表于 2015-9-25 17:30 几乎不可能的事情,如果一定要做到万无一失,实际上不是万无一失,你算算中断里面操作这个数才多久,外面读取这 ...
最多设置5个标签!
中断跟主程序竞争的问题,应该是编程的时候需要注意的问题吧?
就算概率小,那遇到了,也是不小的么。
我的使用场景是 步进电机编码器这块,我需要2ms就读取一次编码器的值,判断是否失步,那日积月累的,总是会出错的。
我印象中,之前书上看到过读两次的方法,我用了下,看看,这样有没有问题?
int c1;
int c2;
do
{
c1 = Encoder_PPR_Local * 4 * m->EncodeCircles + ENCODER_TIMER->CNT;
c2 = Encoder_PPR_Local * 4 * m->EncodeCircles + ENCODER_TIMER->CNT;
}
while(((c1>c2) ? c1-c2 : c2-c1) < 2000);
一周热门 更多>