日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FreeRtos 内核函数 cmsis_os函数一览

發布時間:2025/3/21 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FreeRtos 内核函数 cmsis_os函数一览 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://blog.csdn.NET/baidu_23187363/article/details/53876277


內核控制函數
osStatus osKernelInitialize (void);???????????????????????//內核初始化
osStatus osKernelStart (void);?????????????????????????//內核開始運行
int32_t osKernelRunning(void);?????????????????????????//返回值為1表示正在運行??作用:系統是否正常工作
uint32_t osKernelSysTick (void);????????????????????????//系統當前節拍數?????作用:毫秒級計時
osKernelSysTickMicroSec(microsec)????????????????????????//微妙(宏函數)?????作用:微秒級計時


線程管理函數
osThreadDef(name, thread, priority, instances, stacksz)???????????????????????//(宏函數)????????作用:定義osThreadDef_t結構體
osThread(name)???????????????????????????????????????????//(宏函數)????????作用:獲取os_thread_def_##name結構體的指針
osThreadId osThreadCreate (const osThreadDef_t *thread_def, void *argument);????????????//錯誤返回NULL??????作用:創建線程
osThreadId osThreadGetId (void);??????????????????????????????????//返回當前線程
osStatus osThreadTerminate (osThreadId thread_id);?????????????????????????//終結線程
osStatus osThreadYield (void);???????????????????????????????????//調度一次
osStatus osThreadSetPriority (osThreadId thread_id, osPriority priority);??????????????//設置線程優先級
osPriority osThreadGetPriority (osThreadId thread_id);???????????????????????//獲取線程優先級


等待函數
osStatus osDelay (uint32_t millisec);????????????????????????????????//毫秒級延時
osEvent osWait (uint32_t millisec);?????????????????????????????????//未實現


軟件定時器管理函數
osTimerDef(name, function)?????????????????????????????????????//宏函數?????????作用:定義os_timer_def_##name結構體
osTimer(name)????????????????????????????????????????????//宏函數?????????作用:定義os_timer_def_##name結構體的指針
osTimerId osTimerCreate (const osTimerDef_t *timer_def, os_timer_type type, void *argument);????//參數二:是否重復回調??作用:創建軟件定時器
osStatus osTimerStart (osTimerId timer_id, uint32_t millisec);???????????????????//開始定時
osStatus osTimerStop (osTimerId timer_id);?????????????????????????????//停止定時
osStatus osTimerDelete (osTimerId timer_id);????????????????????????????//刪除定時器


信號管理函數
int32_t osSignalSet (osThreadId thread_id, int32_t signals);????????????????????//帶通知值的任務通知
int32_t osSignalClear (osThreadId thread_id, int32_t signals);???????????????????//未實現
osEvent osSignalWait (int32_t signals, uint32_t millisec);?????????????????????//參數二:取出值后位置零?作用:等待通知到來


互斥鎖管理函數
osMutexDef(name)??????????????????????????????????????????//(宏函數)???????作用:定義os_mutex_def_##name結構體
osMutex(name)????????????????????????????????????????????//宏函數?????????作用:定義os_mutex_def_##name結構體的指針
osMutexId osMutexCreate (const osMutexDef_t *mutex_def);??????????????????????//創建互斥鎖
osStatus osMutexWait (osMutexId mutex_id, uint32_t millisec);????????????????????//鎖定互斥鎖
osStatus osMutexRelease (osMutexId mutex_id);????????????????????????????//解鎖互斥鎖
osStatus osMutexDelete (osMutexId mutex_id);????????????????????????????//刪除互斥鎖


信號量管理函數
osSemaphoreDef(name)????????????????????????????????????????//(宏函數)???????作用:定義os_semaphore_def_##name結構體
osSemaphore(name)??????????????????????????????????????????//宏函數?????????作用:定義os_semaphore_def_##name結構體的指針
osSemaphoreId osSemaphoreCreate (const osSemaphoreDef_t *semaphore_def, int32_t count);???????//創建信號量
int32_t osSemaphoreWait (osSemaphoreId semaphore_id, uint32_t millisec);??????????????//信號量減一
osStatus osSemaphoreRelease (osSemaphoreId semaphore_id);??????????????????????//信號量加一
osStatus osSemaphoreDelete (osSemaphoreId semaphore_id);??????????????????????//刪除信號量


內存池管理函數
osPoolDef(name, no, type)?????????????????????????????//參數二:內存池size 參數三:成員size????作用:定義os_pool_def_##name結構體
osPool(name)????????????????????????????????????????????//宏函數?????????作用:定義os_pool_def_##name結構體的指針
osPoolId osPoolCreate (const osPoolDef_t *pool_def);????????????????????????//創建內存池
void *osPoolAlloc (osPoolId pool_id);????????????????????????????????//分配內存
void *osPoolCAlloc (osPoolId pool_id);???????????????????????????????//分配內存并且清零
osStatus osPoolFree (osPoolId pool_id, void *block);????????????????????????//釋放內存


隊列管理函數
osMessageQDef(name, queue_sz, type)????????????????????????//參數二:隊列size 參數三:成員size?????作用:定義os_messageQ_def_##name結構體
osMessageQ(name)??????????????????????????????????????????//宏函數?????????作用:定義os_messageQ_def_##name結構體的指針
osMessageQId osMessageCreate (const osMessageQDef_t *queue_def, osThreadId thread_id);???????//創建隊列
osStatus osMessagePut (osMessageQId queue_id, uint32_t info, uint32_t millisec);??????????//向隊列中放入消息
osEvent osMessageGet (osMessageQId queue_id, uint32_t millisec);??????????????????//從隊列中獲取消息


郵箱隊列管理函數
osMailQDef(name, queue_sz, type)?????????????????????????//參數二:郵箱size 參數三:消息size?????作用:定義os_mailQ_def_##name結構體
osMailQ(name)????????????????????????????????????????????//宏函數?????????作用:定義os_mailQ_def_##name結構體的指針
osMailQId osMailCreate (const osMailQDef_t *queue_def, osThreadId thread_id);????????????//創建郵箱
void *osMailAlloc (osMailQId queue_id, uint32_t millisec);?????????????????????//分配一個消息的空間
void *osMailCAlloc (osMailQId queue_id, uint32_t millisec);?????????????????????//分配一個消息的空間并且清零??????????????????
osStatus osMailPut (osMailQId queue_id, void *mail);????????????????????????//將成員丟到郵箱中
osEvent osMailGet (osMailQId queue_id, uint32_t millisec);?????????????????????//從郵箱中獲取消息
osStatus osMailFree (osMailQId queue_id, void *mail);????????????????????????//釋放消息空間


特殊功能函數
void osSystickHandler(void);????????????????????????????????????//定時器中斷處理函數
osThreadState osThreadGetState(osThreadId thread_id);????????????????????????//獲取線程狀態
osStatus osThreadIsSuspended(osThreadId thread_id);?????????????????????????//線程是否被掛起??????????????????????
osStatus osThreadSuspend (osThreadId thread_id);??????????????????????????//掛起線程
osStatus osThreadResume (osThreadId thread_id);???????????????????????????//恢復調度
osStatus osThreadSuspendAll (void);?????????????????????????????????//掛起所有線程
osStatus osThreadResumeAll (void);?????????????????????????????????//恢復調度所有線程
osStatus osDelayUntil (uint32_t *PreviousWakeTime, uint32_t millisec);???????????????//絕對延時
osStatus osThreadList (uint8_t *buffer);??????????????????????????????//獲取任務信息?任務名、優先級
osEvent osMessagePeek (osMessageQId queue_id, uint32_t millisec);??????????????????//瞥一眼隊列中有沒有消息
osMutexId osRecursiveMutexCreate (const osMutexDef_t *mutex_def);??????????????????//創建遞歸互斥鎖
osStatus osRecursiveMutexRelease (osMutexId mutex_id);???????????????????????//釋放遞歸互斥鎖
osStatus osRecursiveMutexWait (osMutexId mutex_id, uint32_t millisec);???????????????//鎖定遞歸互斥鎖

總結

以上是生活随笔為你收集整理的FreeRtos 内核函数 cmsis_os函数一览的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 爱福利视频广场 | 无码精品一区二区免费 | 色999在线 | 欧美一区二区三区电影 | 五月情网| 免费看毛片网站 | 奇米精品一区二区三区在线观看 | 国产伦一区二区 | 啪啪小视频| 久久最新 | 涩久久 | 欧美精品videosex极品 | 999这里有精品 | 麻豆传媒一区二区 | 黄色小视频免费观看 | 婷婷在线影院 | 精品一区在线 | 伊人中文字幕 | 日韩亚洲精品视频 | 99久久婷婷国产精品综合 | 朝桐光在线视频 | 免费观看在线高清 | 重口另类 | 中文字幕国产在线观看 | 日韩久久网 | 久久免费小视频 | 欧美极品jizzhd欧美爆 | 国产伦精品一区二区三区网站 | 看国产一级片 | 美女裸片| 欧美11p | 欧美特级视频 | 国产免费福利视频 | 男男做爰猛烈叫床爽爽小说 | 天堂中文视频在线 | 琪琪久久| 日韩亚洲国产欧美 | 国产精品无码在线播放 | 精品久久影视 | 波多野结衣爱爱 | 草草久久久无码国产专区 | 中文字幕日韩视频 | 男女黄色网 | 黄色www视频| 另类激情| 久久香蕉综合 | 国产精品美女久久久久 | 久久亚洲av无码西西人体 | 亚洲图片自拍偷拍 | 国产毛片久久久久久 | 91网站在线观看视频 | 美女福利影院 | 9i在线看片成人免费 | 字幕网av | 99久久婷婷国产综合精品草原 | 国产污污视频在线观看 | 免费毛片一级 | 国产毛片在线 | av一片| 人人爽爽爽 | 天堂在线免费观看 | 久久99精品久久久久久园产越南 | 色哟哟视频网站 | 在线视频一区二区 | 成色网 | 在线精品小视频 | 怡红院一区二区三区 | 99久久久无码国产 | 亚洲欧美日韩偷拍 | 免费的黄色小视频 | 高h教授1v1h喂奶 | 欧美日韩小视频 | 国产精品成人无码免费 | 欧美动态视频 | 国产一区二区三区在线观看免费 | 噼里啪啦动漫 | 欧美精品一区二区三区视频 | 日本黄色大片网站 | 欧美1页 | 日韩第一页 | 男人猛进女人爽的大叫 | 欧美日韩在线播放三区四区 | 免费在线看黄色 | 国产情侣一区二区 | 国产精品久久久久三级无码 | 锦绣未央在线观看 | 岛国裸体写真hd在线 | 美女脱光衣服让男人捅 | 蜜桃av在线| 男女激情久久 | 国产视频一区二区在线观看 | 日本中文字幕精品 | 国产欧美久久一区二区三区 | 亚洲激情专区 | 一级黄色大片视频 | 国产一区不卡 | 国产黄色在线观看 | 一区二区在线免费视频 | 99热国|