请问一下,在任务里定时执行HAL_RTC_SetTime没问题,但是在tshell里手动执行HAL_RTC_SetTime函数的时候,一执行到里面的 rt_tick_get() 就出错,请问可能是什么原因呀?我看rt_tick_get()里就一句 return rt_tick;
查看更多
具体是什么问题?uint32_t HAL_GetTick(void){ return rt_tick_get() * (1000 / RT_TICK_PER_SECOND);}像这样加个括号试下,
具体是什么问题?uint32_t HAL_GetTick(void){
多谢回复,我加个括号试试。下图是cmBacktrace提示的,我单步也是到这里。
可能是你的应用中有内存越界,只能用jlink调试来定位,可以减少应用线程的个数或怀疑的函数。
这个函数只是返回当前tick的计数值,如果在这里出错,你要查下你当前函数的调用深度或则你的堆栈开的大小,你的芯片占用的内存空间够不够等问题了
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部