c#中想做个循环js周期性定时器在1ms左右的定时器,能做到吗

我现在想用C#做个循环周期取数、存数的程序,试了C#中的三个常规定时器,虽然上边的时间精度最小是1ms,但是其实是达不到的,要想保证时间精度在1ms左右,能有方法实现吗?用什么方法,求助高手,实在是逼到最后了.....
windows 的调度时间片是 15ms, 而且windows 不是实时操作系统,所以用传统的定时器是根本无法达到1ms 的精度的。10ms 的精度都达不到。windows 下要实现高精度定时器,需要用多媒体定时器才可以。
看下面文章,你把C++的代码改成 C#就可以了。
http://blog.csdn.net/akumas/archive//5703366.aspx
还有这篇文章,你也可以参考一下
http://blog.chinaunix.net/u2/75161/showart_1103212.html
& 2016 乐问&&
本站内容采用&
&&沪ICP备号-1应用定时器TO产生1ms定时,_百度知道查看: 3469|回复: 2
请教怎么用RTC做1ms的循环定时器
主题帖子精华
新手上路, 积分 26, 距离下一级还需 24 积分
在线时间0 小时
需要一个(1/1024)秒,即0.9765625ms的循环定时器。
TIM1 ~ 7& 的时钟源都是72MHz,做1ms的定时器很方便,但是做0.9765625ms的定时器就不行了, 72M/1024 = 70312.5,有个小数点。原因是72M = , 而不是72*。这里不能用四舍五入,引入的误差太大了。
时钟源为32.768K的只有RTC, 例程里面都是“秒中断”, 做1秒的定时器没问题, RTC-&gtRLL=32767
但是,我设置RTC-&gtRLL=31, 仍是1秒才中断一次。 设置RTC-&ALRL = 32;& alarm中断没有触发。
我是用“ALIENTEK MINISTM32 实验11 RTC实时时钟实验”的code为基础,修改上述两个寄存器。只能做1秒的中断,不能实现小于1秒的中断。
烦请帮忙,我买了两套开发板了,呵呵
主题帖子精华
在线时间480 小时
回复【楼主位】shencj:
---------------------------------
修改为31,是可以的,你得把电池去掉,重新上电.否则,因为你以前初始化过一次,是不会再次初始化的.一定要让BKP-&DR1!=0X5050这个等式成立,才会进行RTC的初始化设置.
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子
主题帖子精华
新手上路, 积分 26, 距离下一级还需 24 积分
在线时间0 小时
回复【2楼】正点原子:
---------------------------------
非常感谢,RTC-&gtRLL=31&,即可触发(1/1024)ms的中断。&比用TIM3&精度好多了。
前两天,一直不行,不知怎么回事。&我还把if(BKP-&DR1!=0X5050)&改为if(1)。&不管了,能工作就很好。
原子的support真快啊,谢谢。
Powered by}

我要回帖

更多关于 stm32定时器定时1ms 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信