OpenEdv-开源电子网

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

FreeRTOS 9.0 vTaskDelayUntil( )函数源码问题

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2018-10-1
在线时间
1 小时
发表于 2018-10-1 10:59:39 | 显示全部楼层 |阅读模式
1金钱

代码段

代码段

如图在绝对延时函数vTaskDelayUntil( )中 1165行,当变量xConstTickCount没有溢出且任务唤醒时间变量xTimeToWake溢出的情况下,需要进行任务延时,则在1198行函数prvAddCurrentTaskToDelayedList( )中,计算延时时间参数时会得到一个负值,而函数参数为一个uint32类型的变量,代码是怎么保证这种情况下延时的正确性的?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2018-10-1
在线时间
1 小时
 楼主| 发表于 2018-10-1 11:03:13 | 显示全部楼层
纠正下问题中不是1165行,是1179行在当前心跳值没有溢出但计算出的下次任务唤醒时间溢出的情况下,需要进行任务延时,则在1198行函数prvAddCurrentTaskToDelayedList( )中,计算延时时间参数时会得到一个负值,而函数参数为一个uint32类型的变量,代码是怎么保证这种情况下延时的正确性的?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 22:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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