需要移植一个裸奔AD程序到RTX上,结果发现延迟总是出问题,,于是仅创建了一个任务进行测试~
发现延迟完全超出预计了~~
我是在
STM32f103上实现的,看了RTX的手册仍然没找到问题出在哪~ 恳请大神给小弟指点指点!!
RTX配置文件设置:
timer clock value[Hz]: 72000000
Timer tick value [us]: 1000
这样每个时钟节拍应该是1ms,那么os_dly_wait(16)不是应该延迟16ms吗?,,,
最初发现时间不对,以为是调试窗口显示有问题,使用LED灯进行测试,设置延迟500ms,
结果等了半天才闪一次~~然后就知道真的出问题了~~
可是测试结果是这样的~
延迟前后时间对比:
任务运行视图:
好的,谢谢! 不过出问题后我就找了类似的资料修改了~ 并没有用,,, 刚刚重新编译了一遍(rebulid),延迟突然就正确了,,还是没明白是哪的问题~
还有,再请教你一个问题:我在RTX的新开了一个任务,调用了HAL_TIM_Base_Start_IT(&htim1);启用stm32的定时器TIM1,结果程序就不稳定了,,,是不是不能直接在任务中使用HAL_TIM_Base_Start_IT(&htim1)?
一周热门 更多>