硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2476|回复: 3
收起左侧

[μCOS-III] 定时器里中断可以放延时么

[复制链接]

5

主题

31

回帖

46

积分

新手上路

积分
46
发表于 2018-5-12 19:36:24 | 显示全部楼层 |阅读模式
如题,今天遇到这个问题,在通用定时器中断服务函数中,调用了延时函数。延时函数是系统定时器中定义的us延时函数,延时50us,定时中断1s,但调试或者运行都无法跳出去该延时函数,请问这是什么原因啊?
是因为SysTick的优先级最低么?还是定时器里中断不能放延时?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107014
QQ
发表于 2018-5-13 02:29:49 | 显示全部楼层
这是不规范的,极其影响系统响应,最好不要加。

如果要加的话,推荐使用我FreeRTOS教程配套的18B20例程中使用的微妙延迟方案,是利用的时钟周期计数器,非常方便。
http://www.armbbs.cn/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

5

主题

31

回帖

46

积分

新手上路

积分
46
 楼主| 发表于 2018-5-13 13:14:51 | 显示全部楼层
eric2013 发表于 2018-5-13 02:29
这是不规范的,极其影响系统响应,最好不要加。

如果要加的话,推荐使用我FreeRTOS教程配套的18B20例程 ...

好的。谢谢硬汉哥
回复

使用道具 举报

3

主题

43

回帖

52

积分

初级会员

积分
52
发表于 2018-5-15 10:18:08 | 显示全部楼层
中断里理论上可以使用延时的,但必须你的定时器中断和系统延时中断是可以嵌套的。当然如果不是很精确的延时可以使用NOP循环的方式。 最好的方式是定时器中断用消息发给一个任务,在任务里处理各种操作和延时等。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-14 09:36 , Processed in 1.348274 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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