#鸿蒙通关秘籍#怎样在鸿蒙LiteOS-M中实现Tick中断处理?

HarmonyOS
5天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
hm67482d67c970d
  • Tick中断处理在LiteOS-M中由OsTickHandler()函数实现。
  • 每当Tick中断发生,该函数会更新全局变量g_ullTickCount
  • 如果启用了时间片功能LOSCFG_BASE_CORE_TIMESLICE,则通过OsTimesliceCheck()检查当前任务的时间片。
  • 若定时器功能被允许,通过OsSwtmrScan()检查定时器是否超时。

c LITE_OS_SEC_TEXT VOID OsTickHandler(VOID) { #if (LOSCFG_BASE_CORE_TICK_HW_TIME == 1) platform_tick_handler(); #endif g_ullTickCount++; #if (LOSCFG_BASE_CORE_TIMESLICE == 1) OsTimesliceCheck(); #endif OsTaskScan(); // task timeout scan #if (LOSCFG_BASE_CORE_SWTMR == 1) (VOID)OsSwtmrScan(); #endif }

分享
微博
QQ
微信
回复
5天前
相关问题
liteos-m怎么实现进程间的互斥?
6204浏览 • 1回复 已解决
LiteOS-M如何获取系统当前时间?
8039浏览 • 1回复 待解决
关于LiteOS-M内核一点疑惑
7742浏览 • 1回复 已解决
Hi3861用的liteOS-m为啥要固化到ROM
12875浏览 • 3回复 待解决