|
本帖最后由 过期的健康证 于 2019-7-30 16:44 编辑
第三次修改,根据Mona的建议在保证准确的情况下增加了一点点延迟,可能不同CPU的效果不同,需要调试一下。j的初始值越大读取寄存器的间隔越大并且Sleep误差越大。
- // 延迟函数
- void delayms(unsigned int us)
- {
- unsigned int i,j;
- for(i=us;i>0;i--);
- for(j=10;j>0;j--);
- }
-
- // 延迟函数
- void sleep(unsigned int millisecond)
- {
- char data;
-
- while(millisecond > 0){
- data = 0;
- write_register(37,&data);
-
- while(1){
- read_register(37,&data);
- delayms(10);
- if (data > 0)
- break;
- }
- millisecond--;
- }
- }
- int main()
- {
- timer_config(2,1);
- }
复制代码
|
|