硬汉嵌入式论坛

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

[FreeRTOS] FreeRTOS  使用HAL_Delay()卡死  解决方法

[复制链接]

3

主题

21

回帖

30

积分

新手上路

积分
30
发表于 2016-12-29 16:50:02 | 显示全部楼层 |阅读模式
在移植FreeRTOS的时候,因为使用的是HAL库,HAL库中有使用到滴答定时器,所以在移植完FreeRTOS,在开启FreeRTOS之前若**使用HAL_Delay(),则系统会跑到硬件错误**,原因可能是未开启FreeRTOS,但滴答定时器已经初始化了,这个时候的滴答定时器的中断已经被FreeRTOS托管,若发生滴答定时器中断,在FreeRTOS未开启的情况下,则会发生错误,直接进入硬件错误;**处理方法**:HAL库的HAL_Delay使用另外的定时器,不用滴答定时器,并且在FreeRTOS开启之前都不要初始化或使用滴答定时器,这样就可以在FreeRTOS之前或在FreeRTOS中使用 HAL_Delay。PS:FreeRTOS中自动会帮我们配置滴答定时器,前提是移植没有问题。

评分

参与人数 1 +5 收起 理由
eric2013 + 5

查看全部评分

回复

使用道具 举报

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
发表于 2016-12-29 17:07:53 | 显示全部楼层
赞!
很好的经验分享
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2016-12-30 01:00:43 | 显示全部楼层
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 08:14 , Processed in 0.164335 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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