OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6663|回复: 4

单片机使用定中断,会打断延时函数

[复制链接]

6

主题

15

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-3
在线时间
1 小时
发表于 2014-9-12 08:09:23 | 显示全部楼层 |阅读模式
5金钱
原子哥写的“delay.c”当中定义的delay_ms()与delay_us( )函数会被中断打断,
而跳出延时函数,导致延时不精确。比如使用定时器中断时,定时器每2ms中断一次,
而当使用delay_ms( )或者delay_us( )延时2ms以上时,此时定时器中断就会打断delay_ms( )或者delay_us( ),
是延时最多达到2ms,即定时器的中断时间。求一个能够通用的不被中断打断的较为精确的延时,
谢谢各位

最佳答案

查看完整内容[请看2#楼]

1. 中斷程序本來優先權就一定會比較高, 所以會先去執行.... 2. 若你要做到精確delay , 就要用中斷, 而且優先權最好比其它中斷高 3. 在embedded 系統中, 中斷處理時間越短越好 4. 回頭想想, 做那麼精準delay 幹嘛?   若真要很準很準,就把這工作放到中斷裡去做! 以上給你建議, 希望對你有幫助
没有签名
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

234

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2014-7-8
在线时间
10 小时
发表于 2014-9-12 08:09:24 | 显示全部楼层
1. 中斷程序本來優先權就一定會比較高, 所以會先去執行....
2. 若你要做到精確delay , 就要用中斷, 而且優先權最好比其它中斷高
3. 在embedded 系統中, 中斷處理時間越短越好
4. 回頭想想, 做那麼精準delay 幹嘛?   若真要很準很準,就把這工作放到中斷裡去做!

以上給你建議, 希望對你有幫助
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-9-12 12:49:11 | 显示全部楼层
回复【2楼】溫柔一刀:
---------------------------------
你的论坛名字在爱情剧里面很经典啊
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

6

主题

15

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-3
在线时间
1 小时
 楼主| 发表于 2014-9-12 15:36:58 | 显示全部楼层
回复【3楼】Badu_Space:
---------------------------------
此话怎讲
没有签名
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-9-12 17:42:32 | 显示全部楼层
回复【4楼】383382352:
---------------------------------
此温柔一刀,类似横刀夺爱啊,很有味道
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 23:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表