rawosAPI使用手冊_第1頁
rawosAPI使用手冊_第2頁
rawosAPI使用手冊_第3頁
rawosAPI使用手冊_第4頁
rawosAPI使用手冊_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、文檔作者:常鵬飛函數(shù) raw_enter_interrupt() 在raw_system.c文件中參數(shù) 無功能 此函數(shù)在進入中斷一開始的時候調用說明 調用此函數(shù)的時候必須處于關中斷關狀(響應中斷的,最開始進入中斷時硬件保證是關中斷狀態(tài))因為其函數(shù)體中沒有 raw_sr_alloc(); raw_critical_enter(); raw_critical_exit();函數(shù) raw_finish_int() 在raw_system.c文件中參數(shù) 無功能 當中斷退出的時候調用說明 在搶占模式下,在最外層中斷退出時可能引發(fā)任務切換函數(shù) raw_time_tick() 在raw_system.c文件

2、中參數(shù) 無功能 在時鐘中斷處理函數(shù)中調用說明 在時鐘中斷處理函數(shù)中調用函數(shù) raw_system_time_get() 在raw_system.c文件中參數(shù) 無功能 返回系統(tǒng)的已經運行時鐘數(shù)說明 系統(tǒng)運行時鐘數(shù)在達到0xffffffff后會翻頭到0函數(shù) raw_u32 raw_system_time_set(raw_u32 time) 在raw_system.c文件中參數(shù) raw_u32 time功能 設置系統(tǒng)運行時鐘數(shù)說明 函數(shù) raw_u16 raw_os_init() 在raw_sched.c文件中參數(shù) 無功能 raw_os初始化時調用,成功返回raw_success說明函數(shù) raw_u

3、16 raw_os_start() 在raw_sched.c文件中參數(shù) 無功能 raw_os正式啟動運行說明 理論上講這個函數(shù)永遠不會返回,若返回說明出錯,返回raw_system_error函數(shù) raw_task_create 在raw_task.c文件中參數(shù) raw_task_obj *task_obj 指向要創(chuàng)建任務的raw_task_obj的指針 raw_u8 *task_name 任務的名字 raw_void *task_arg 傳給任務的參數(shù) raw_u8 task_prio 任務的優(yōu)先級,數(shù)越小優(yōu)先級越大 raw_u16 time_slice 分配給任務的時間片,用于時間片調度,

4、指定意味用默認值 port_stack *task_stack_base 堆棧的起始地址 raw_u32 stack_size 堆棧的大小 raw_task_entry task_entry 任務的入口 raw_u8 auto_start 標記是否立即運行?raw_auto_start1 (task_state會置為raw_rdy狀態(tài),將該任務加入就緒隊列,最后進行調度檢查) raw_dont_start0 (task_state會置為raw_suspended狀態(tài))功能 創(chuàng)建一個任務,如果創(chuàng)建這個任務有更高的優(yōu)先級,那么它會立即得到運行返回值 raw_idle_exit 空閑任務的優(yōu)先級獨占

5、,不允許其它任務再使用這個優(yōu)先級 raw_os_stopped raw_os還沒有開始運行 raw_success 成功創(chuàng)建任務raw_null_object raw_task_obj類型指針為空raw_byond_max_priority 優(yōu)先級溢出raw_null_pointer 空指針(task_stack_base、task_entry為空時)函數(shù) raw_task_stack_check 在raw_task.c中參數(shù) raw_task_obj *task_obj 指向要檢查堆棧任務的raw_task_obj的指針 raw_u32 *free_stack 指向的變量用于保存剩余堆棧元素

6、數(shù)(注,不是字節(jié)數(shù))功能 檢測指定任務剩余堆棧元素數(shù)說明 此函數(shù)需在raw_system_check宏開關打開情況下,才能使用返回值 raw_null_object 當task_obj為空指針時 raw_null_pointer 當free_stack為空指針時 raw_success 調用成功返回函數(shù) raw_disable_sche 在raw_task.c文件中參數(shù) 無功能 禁止調度器調度說明 此函數(shù)不能在中斷處理函數(shù)中調用(為什么?) 我認為是因為raw_disable_sche和raw_enable_sche設計的本意是在任務態(tài)下配對使用達到臨界區(qū)(大范圍/粒度性的原子性操作)的目的,

7、防止其之間的執(zhí)行被其它任務打斷。所以可以在中斷處理函數(shù)中調用,只是沒有邏輯意義。返回值 raw_not_called_by_isr 在中斷處理函數(shù)中調用(不應在isr中調用) raw_sched_overflow raw_disable_sche調用次數(shù)溢出 raw_success 調用成功返回函數(shù) raw_enable_sche 在raw_task.c文件中參數(shù) 無功能 開啟調度器調度說明 此函數(shù)不能在中斷處理函數(shù)中調用(原因同raw_disable_sche)返回值 raw_not_called_by_isr 在中斷處理函數(shù)中調用(不應在isr中調用) raw_sched_invalid

8、raw_enable_sche和raw_disable_sche沒有嚴格配對使用 raw_sched_locked 調度器仍處于上鎖狀態(tài) raw_success 調用成功返回函數(shù) raw_sleep 在raw_task.c文件中參數(shù) raw_u32 dly 睡眠的時鐘數(shù)(非0) 將當前任務放在同等優(yōu)先級就緒隊列最后(0)功能 讓調用此函數(shù)的任務睡眠指定時間說明返回值 raw_not_called_by_isr 在中斷處理函數(shù)中調用(不應在isr中調用) raw_success 成功調用返回函數(shù) raw_task_suspend 在raw_task.c文件中參數(shù) raw_task_obj *ta

9、sk_ptr 指向要暫停掛起的任務的raw_task_obj功能 掛起暫停指定的任務說明 不能掛起idle空閑任務返回值 raw_null_object 當task_ptr為空指針時 raw_suspend_task_not_allowed 試圖掛起暫停idle空閑任務(不能掛起idle空閑任務) raw_sched_locked 調度器處于上鎖狀態(tài) raw_suspended_again 重復讓指定任務暫停掛起 raw_state_unknown 未知狀態(tài) raw_success 成功調用返回函數(shù) raw_task_resume 在raw_task.c文件中參數(shù) raw_task_obj *

10、task_ptr 指向要喚醒的任務的raw_task_obj功能 喚醒被raw_task_suspend暫停掛起的任務(應只喚醒被raw_task_suspend暫停掛起的任務)說明 返回值 raw_null_object 當task_ptr為空指針時 has_not_suspend 指定任務沒有處于suspend狀態(tài) raw_state_unknown 未知狀態(tài) raw_success 成功調用返回函數(shù) raw_task_priority_change 在raw_task.c文件中參數(shù) raw_task_obj *task_ptr 指向要改變優(yōu)先級任務的raw_task_obj raw_u8

11、 new_priority 指定的新優(yōu)先級 raw_u8 *old_priority 指定的變量用于保存老優(yōu)先級功能 動態(tài)改變指定任務的優(yōu)先級說明 返回值 raw_null_object task_prt或old_priority為空指針時 raw_change_priority_not_allowed 原來任務的優(yōu)先級越界或新指定為空閑任務的優(yōu)先級 raw_success 成功調用返回函數(shù) raw_task_delete 在raw_task.c文件中參數(shù) raw_task_obj *task_ptr 指向要刪除任務的raw_task_obj功能 刪除指定任務并引發(fā)任務切換說明 不能刪除占有互

12、斥量或信號量的任務?不能在isr中調用該函數(shù)(邏輯不符?)返回值 raw_null_object task_ptr指針為空 raw_not_called_by_isr 不能在isr中調用 raw_delete_task_not_allowed 不允許刪除空閑任務 raw_sched_locked 調度器處于上鎖狀態(tài) raw_state_unknown 任務處于未知狀態(tài) raw_success 成功調用返回函數(shù) raw_set_task_user_point 在raw_task.c文件中參數(shù) raw_task_obj *task_ptr, 指向要設置用戶數(shù)據(jù)區(qū)任務的raw_task_objraw

13、_void *user_point 指向用戶數(shù)據(jù)區(qū)功能 設置用戶數(shù)據(jù)區(qū)說明返回值 函數(shù) raw_get_task_user_point 在raw_task.c文件中參數(shù) raw_task_obj *task_ptr, 指向要返回用戶數(shù)據(jù)區(qū)任務的raw_task_obj功能 返回用戶數(shù)據(jù)區(qū)說明 返回值 指向用戶數(shù)據(jù)區(qū)的指針函數(shù) raw_task_time_slice_change 在raw_task.c文件中參數(shù) raw_task_obj *task_ptr, 指向要改變時間片任務的raw_task_objraw_u16 new_time_slice 新的時間片(為0,則用time_slice_

14、default設置)功能 改變指定任務的時間片說明 返回值 raw_null_object task_ptr指針為空指針 raw_success 成功調用返回函數(shù) raw_set_sched_way 在raw_task.c文件中參數(shù) raw_task_obj *task_ptr, 指向要改變調度方式任務的raw_task_obj raw_u8 policy 調度方式 sched_fifo sched_rr功能 改變指定任務的調度方式說明 返回值 raw_null_object task_ptr為空指針 raw_invalid_sched_way 無效調用方式,目前只能為(sched_fifo或

15、sched_rr) raw_success 成功調用返回函數(shù) raw_get_sched_way 在raw_task.c文件中參數(shù) raw_task_obj *task_ptr, 指向要獲取調度方式任務的raw_task_obj raw_u8 *policy_ptr 指向的變量用來保存調度方式功能 獲取指定任務的調度方式說明返回值 raw_null_object task_ptr或policy_ptr為空指針 raw_success 成功調用返回函數(shù) raw_task_wait_abort 在raw_task.c文件中參數(shù) raw_task_obj *task_ptr 指向要中止任務的raw_

16、task_obj功能 中止指定任務等待睡眠掛起狀態(tài),進入就緒狀態(tài)說明 只能中止處于dly或suspend或pend狀態(tài)的任務?返回值 raw_null_object task_ptr為空指針 raw_state_unknown 任務處于未知狀態(tài) raw_success 調用成功返回函數(shù) raw_task_identify 在raw_task.c文件中參數(shù) 無功能 獲取當前運行的任務說明 返回值 返回當前運行的任務函數(shù) raw_iter_block_task 在raw_task.c文件中參數(shù) list *object_head, 等待任務隊列的頭結點raw_void (*debug_functi

17、on)(raw_task_obj *), 對每個任務的debug函數(shù)raw_u8 opt 0喚醒每個等待任務,0則什么也不做功能 對處于等待semphore,event,mutex,queue,block,byte memory上任務進行調試說明 返回值 無函數(shù) raw_get_system_global_space 在raw_task.c文件中參數(shù) 無功能 獲取raw_os (系統(tǒng)全局變量)數(shù)據(jù)段+bss段空間大小說明 主要是計算raw_os系統(tǒng)內部全局變量所占空間大小返回值 raw_os數(shù)據(jù)段+bss段空間大小函數(shù) raw_mutex_create 在raw_mutex.c文件中參數(shù) ra

18、w_mutex *mutex_ptr, 指向要創(chuàng)建的互斥量raw_mutexraw_u8 *name_ptr, 互斥量的名字raw_u8 policy, raw_u8 ceiling_prio功能 創(chuàng)建一個互斥量(感覺用初始化更為恰當)說明返回值 raw_null_object mutex_ptr為空指針時 raw_mutex_no_policy policy不合法,其只能為 raw_mutex_ceiling_policy(優(yōu)先級天花板模式) raw_mutex_inherit_policy(優(yōu)先級繼承模式) raw_mutex_none_policy 三者之一 raw_success 成功

19、調用返回函數(shù) raw_mutex_get 在raw_mutex.c文件中參數(shù) raw_mutex *mutex_ptr, 指向要獲取的互斥量 raw_u32 wait_option 獲取方式選項(或超時值) raw_no_wait 0x00000000 不等待 raw_wait_forever 0xffffffff 永久等待 閉區(qū)間0x00000001,0xfffffffe 為超時值功能 嘗試獲取指定互斥量說明返回值 raw_null_object mutex_ptr為空指針時 raw_not_called_by_isr 在isr中調用(此函數(shù)不允許在isr中調用) raw_error_obj

20、ect_type mutex_ptr指向的不是mutex互斥量類型 raw_no_pend_wait 沒有成功獲取mutex互斥量,無等待返回 raw_sched_disable 調度器處于上鎖狀態(tài) raw_success 成功調用返回函數(shù) raw_mutex_put 在raw_mutex.c文件中參數(shù) raw_mutex *mutex_ptr 指向要釋放的mutex互斥量功能 釋放指定的mutex互斥量說明 返回值 raw_null_object mutex_ptr為空指針 raw_error_object_type 類型錯誤,mutex_ptr指向的對象不是raw_mutex_obj_ty

21、pe類型 raw_mutex_not_release_by_occypy 不是由占用該mutex互斥量的任務進行釋放 raw_success 成功調用返回函數(shù) raw_mutex_delete 在raw_mutex.c文件中參數(shù) raw_mutex *mtxcb 指向要刪除的mutex互斥量功能 刪除指定的mutex互斥量說明返回值 raw_null_object mtxcb為空指針 raw_error_object_type mtxcb指向的對象不是mutex互斥量類型函數(shù) raw_semaphore_create 在raw_sem.c文件中參數(shù) raw_semaphore *semapho

22、re_ptr, 指向要創(chuàng)建初始化指定的sem信號量raw_u8 *name_ptr, sem信號量的名字raw_u32 initial_count sem信號量可用資源數(shù),取值范圍0, 0xfffffffe功能 創(chuàng)建初始化指定的sem信號量說明 返回值 raw_null_object semaphore_ptr為空指針 raw_semaphore_overflow 當sem信號量資源數(shù)量初始化值initial_value為0xffffffff時,溢出 raw_success 成功調用返回函數(shù) raw_semaphore_put 在raw_sem.c文件中參數(shù) raw_semaphore *se

23、maphore_ptr 指向要釋放的sem信號量功能 釋放指定的sem信號量,并喚醒優(yōu)先級最高的等待任務說明返回值 raw_null_object semaphore_ptr為空指針 raw_error_object_type semaphore_ptr指向的對象不是sem信號量類型 raw_semaphore_overflow sem信號量的值已經是0xffffffff,溢出 raw_success 成功調用返回函數(shù) raw_semaphore_put_all 在raw_sem.c文件中參數(shù) raw_semaphore *semaphore_ptr 指向要釋放的sem信號量功能 釋放指定的s

24、em信號量,并喚醒所有的等待任務說明返回值 raw_null_object semaphore_ptr為空指針 raw_error_object_type semaphore_ptr指向的對象不是sem信號量類型 raw_semaphore_overflow sem信號量的值已經是0xffffffff,溢出 raw_success 成功調用返回函數(shù) raw_semaphore_get 在raw_sem.c文件中參數(shù) raw_semaphore *semaphore_ptr 指向嘗試要獲取的sem信號量raw_u32 wait_option raw_no_wait 0x00000000 不能獲取

25、時,立即返回 raw_wait_forever 0xffffffff 不能獲取時,永久等待 1,0xfffffffe 不能獲取時,超時等待時間功能 嘗試獲取指定sem信號量說明返回值 raw_null_object semaphore_ptr為空指針時 raw_not_called_by_isr 此函數(shù)不應在isr中調用(作為一個通用原則,凡是會引起睡眠等待(任務切換的)不應該在isr中調用) raw_error_object_type semaphore_ptr指向的對象不是sem互斥量類型 raw_success 成功調用返回函數(shù) raw_semaphore_delete 在raw_sem

26、.c文件中參數(shù) raw_semaphore *semaphore_ptr 指向要刪除的sem信號量功能 刪除指定的sem信號量說明 返回值 raw_null_object semaphore_ptr為空指針 raw_error_object_type semaphore_ptr指向的對象不是sem信號量類型 raw_success 成功調用返回函數(shù) raw_event_create 在raw_event.c文件中參數(shù) raw_event *event_ptr, 指向要創(chuàng)建初始化的event事件標志組raw_u8 *name_ptr, event事件標志組名字raw_u32 flags_init

27、 event事件標志組的初始值功能 創(chuàng)建初始化指定的event事件標志組說明 返回值 raw_null_object event_ptr為空指針時 raw_success 成功調用返回函數(shù) raw_event_get 在raw_event.c文件中參數(shù) raw_event *event_ptr, 指向嘗試獲取的event事件標志組raw_u32 requested_flags, event事件標志組中要檢查的標志raw_u8 get_option, raw_and 所有標志全部滿足 raw_and_clear 所有標志全部滿足且清除 raw_or 所有標志滿足之一即可 raw_or_clear

28、 所有標志滿足之一即可且清除raw_u32 wait_option raw_no_wait 0x00000000 若不能獲取,立即返回 raw_wait_forever 0xffffffff 若不能獲取,永久等待 0x00000001,0xfffffffe 若不能獲取,超時等待時間功能 嘗試獲取指定的event事件標志組說明 返回值 raw_null_object event_ptr為空指針 raw_not_called_by_isr 此函數(shù)不能在isr中調用 raw_no_this_option get_option不是下列值之一 raw_and raw_or raw_and_clear r

29、aw_or_clear raw_error_object_type event_ptr指向的對象不是event事件組類型 raw_no_pend_wait 不能正確獲取,立即返回 raw_sched_disable 調度器處于上鎖狀態(tài) raw_success 成功調用返回函數(shù) raw_event_set 在raw_event.c文件中參數(shù) raw_event *event_ptr, 指向要設置的event事件標志組raw_u32 flags_to_set, 標記要操作的位raw_u8 set_option raw_and 清除指定位 raw_or 設置指定位功能 對指定的event事件標志組進

30、行設置清除操作說明 返回值 raw_null_object event_ptr為空指針 raw_no_this_option set_option只能為raw_and或raw_or之一 raw_event_obj_type event_ptr指向的對象不是event事件標志組類型 raw_success 成功調用返回函數(shù) raw_event_delete 在raw_event.c文件中參數(shù) raw_event *event_ptr 指向要刪除的raw_event事件標志組功能 刪除指定的raw_event事件標志組說明 返回值 raw_null_object event_ptr指向空指針 ra

31、w_error_object_type event_ptr指向的對象不是event事件標志組類型 raw_success 成功調用返回函數(shù) raw_queue_create 在raw_queue.c文件中參數(shù) raw_queue *p_q, 指向要創(chuàng)建初始化的queue消息隊列數(shù)raw_u8 *p_name, queue消息隊列數(shù)的名字raw_void *msg_start, queue消息隊列數(shù)的起始地址raw_u32 number queue消息隊列中的消息數(shù)功能 創(chuàng)建初始化指定的queue的消息隊列說明 返回值 raw_null_object p_q為空指針 raw_null_point

32、er msg_start為空指針 raw_zero_number number為0 raw_success 成功調用返回函數(shù) raw_queue_front_post 在raw_queue.c文件中參數(shù) raw_queue *p_q, 指向要添加消息的queue消息隊列raw_void *p_void 指向要添加的消息功能 向指定的queue消息隊列頭添加消息,(如果有等待的任務)喚醒優(yōu)先級最高的等待任務說明返回值 raw_null_object p_q為空指針 raw_null_pointer p_void為空指針 raw_error_object_type p_q指向的對象不是queue消

33、息隊列類型 raw_success 成功調用返回 raw_msg_max queue消息隊列已滿函數(shù) raw_queue_end_post 在raw_queue.c文件中參數(shù) raw_queue *p_q, 指向要添加消息的queue消息隊列raw_void *p_void 指向要添加的消息功能 向指定的queue消息隊列尾添加消息,(如果有等待的任務)喚醒優(yōu)先級最高的等待任務說明返回值 raw_null_object p_q為空指針 raw_null_pointer p_void為空指針 raw_error_object_type p_q指向的對象不是queue消息隊列類型 raw_succ

34、ess 成功調用返回 raw_msg_max queue消息隊列已滿函數(shù) raw_queue_all_post 在raw_queue.c文件中參數(shù) raw_queue *p_q, 指向要添加消息的queue消息隊列raw_void *p_void 指向要添加的消息raw_u8 opt send_to_end 尾部添加fifo send_to_front 頭添加lifo功能 向指定的queue消息隊列添加消息(lifo頭添加或fifo尾添加),(如果有等待的任務)喚醒所有的等待任務說明返回值 raw_null_object p_q為空指針 raw_null_pointer p_void為空指針

35、raw_error_object_type p_q指向的對象不是queue消息隊列類型 raw_success 成功調用返回 raw_msg_max queue消息隊列已滿函數(shù) raw_queue_receive 在raw_queue.c文件中參數(shù) raw_queue *p_q, 指向要從中獲取消息的queue消息隊列raw_u32 wait_option, raw_no_wait 0x00000000 不能正確獲取時,立即返回 raw_wait_forever 0xffffffff 不能正確獲取時,永久等待 0x00000001,0xfffffffe 不能正確獲取時,超時等待時間raw_vo

36、id *msg 指向的變量用于保存消息的起始地址功能 從指定的queue消息隊列中獲取一則消息說明 當沒有正確獲取消息時,msg指向的變量保存的null空指針返回值 raw_not_called_by_isr 該函數(shù)不能在isr中調用 raw_null_object p_q為空指針 raw_null_pointer msg為空指針 raw_error_object_type p_q指向的對象不是raw_queue_obj_type類型 raw_no_pend_wait 沒有正確獲取消息,不等待,立即返回 raw_sched_disable 調度器處于上鎖狀態(tài) raw_success 成功調用返

37、回函數(shù) raw_queue_flush 在raw_queue.c文件中參數(shù) raw_queue *p_q 指向要清除所有消息的queue消息隊列功能 清除指定的queue消息隊列中的所有消息(復位處理,復位成初始化狀態(tài))說明 注意,唯獨沒有對peak_numbers字段進行復位處理返回值 raw_null_object p_q為空指針 raw_error_object_type p_q指向的對象不是raw_queue消息隊列類型 raw_success 成功調用返回函數(shù) raw_queue_delete 在raw_queue.c文件中參數(shù) raw_queue *p_q 指向要刪除的queue消

38、息隊列功能 刪除指定的queue消息隊列說明 返回值 raw_null_object p_q為空指針 raw_error_object_type p_q指向的對象不是queue消息隊列類型 raw_success 成功調用返回函數(shù) raw_queue_get_information 在raw_queue.c文件中參數(shù) raw_queue *p_q, 指向要獲取信息的queue消息隊列 raw_msg_info *msg_information 用于保存獲取的queue消息隊列的信息功能 獲取指定的queue消息說明返回值 raw_null_object p_q為空指針 raw_null_poi

39、nter msg_information為空指針 raw_error_object_type p_q指向的對象不是queue消息隊列類型 raw_success 成功調用返回函數(shù) raw_mq_init 在raw_mqueue.c文件中參數(shù) raw_mqueue *mqueue, 指向要創(chuàng)建初始化的mqueue動態(tài)消息隊列raw_u8 *name_ptr, mqueue動態(tài)消息隊列的名字user_malloc malloc_fun, 內存分配函數(shù)user_free free_fun, 內存釋放函數(shù)raw_void *msg_start, mqueue消息隊列的起始地址raw_u32 msg_s

40、ize mqueue動態(tài)消息隊列能容納的最大消息數(shù)功能 創(chuàng)建初始化指定的mqueue動態(tài)消息隊列說明返回值 raw_success 成功調用返回函數(shù) raw_mq_send 在raw_mqueue.c文件中參數(shù) raw_mqueue *mqueue, 向mqueue指定的動態(tài)消息隊列mqueue發(fā)送一則消息raw_void *msg_ptr, 指向要發(fā)送的消息raw_u32 msg_len, 消息長度raw_u32 msg_prio, 消息優(yōu)先級raw_u8 opt wake_all_mqueue 喚醒所有任務 wake_one_mqueue 喚醒優(yōu)先級最高的任務(優(yōu)先級條件下)功能 向指定的

41、動態(tài)消息隊列mqueue發(fā)送一則消息說明 注意,其不能在isr中調用返回值 raw_null_object mqueue為空指針 raw_not_called_by_isr 該函數(shù)不能在isr中調用 raw_mqueue_obj_type mqueue指向的對象不是mqueue類型 raw_msg_max 動態(tài)消息隊列mqueue已滿 raw_success 成功調用返回函數(shù) raw_mq_receive 在raw_mqueue.c文件中參數(shù) raw_mqueue *p_q, 從p_q指向的mqueue動態(tài)消息隊列中讀取一則消息raw_void *p_void, 保存消息的起始地址raw_u3

42、2 *msg_len, 保存消息的長度raw_u32 *msg_prio, 保存消息的優(yōu)先級raw_u32 wait_option raw_no_wait 動態(tài)消息隊列mqueue中沒有消息,不等待,立即返回功能 從指定的動態(tài)消息隊列mqueue中讀取一則消息說膽返回值 raw_null_object p_q為空指針 raw_null_pointer p_void為空指針 raw_not_called_by_isr 該函數(shù)不能在isr中調用 raw_success 成功調用返回 raw_sched_disable 調度器處于上鎖狀態(tài)函數(shù) raw_mqueue_flush 在raw_mqueue

43、.c文件中參數(shù) raw_mqueue *p_q 指向要刷新復位的動態(tài)消息隊列mqeueu功能 刷新復位指定的動態(tài)消息隊列mqueue說明返回值 raw_null_object p_q為空指針 raw_not_called_by_isr 該函數(shù)不能在isr中調用 raw_error_object_type p_q指向的對象不是mqueue動態(tài)消息隊列 raw_success 成功調用返回函數(shù) raw_mqueue_delete 在raw_mqueue.c文件中參數(shù) raw_mqueue *p_q 指向要刪除的動態(tài)消息隊列mqueue功能 刪除指定的動態(tài)消息隊列mqueue說明返回值 raw_nu

44、ll_object p_q為空指針 raw_not_called_by_isr 該函數(shù)不能在isr中調用 raw_error_object_type p_q指向的對象不是動態(tài)消息隊列mqueue類型 raw_success 成功調用返回函數(shù) raw_mqueue_get_information 在raw_mqueue.c文件中參數(shù) raw_mqueue *p_q, raw_u32 *queue_peak_msg_size, 保存mqueue動態(tài)消息隊列曾有過最多消息數(shù)raw_u32 *mq_curmsgs, 保存mqueue動態(tài)消息隊列當前擁有消息數(shù)raw_u32 *mq_maxmsg 保存m

45、queue動態(tài)消息隊列最大容量功能 獲取指定動態(tài)消息隊列mqueue信息說明 返回值 raw_null_object p_q為空指針 raw_error_object_type p_q指向的對象不是mqueue動態(tài)消息隊列類型 raw_success 成功調用返回函數(shù) raw_cond_msg_create 在raw_condition_msg.c文件中參數(shù) raw_cond_msg *cond_msg_ptr 指向要創(chuàng)建初始化的條件消息cond_msg功能 創(chuàng)建初始化指定的條件消息cond_msg說明返回值 raw_null_pointer cond_msg_ptr為空指針 raw_succ

46、ess 成功調用返回函數(shù) raw_cond_msg_wait 在raw_condition_msg.c文件中參數(shù) raw_cond_msg *cond_msg_ptr, 指向等待的條件消息cond_msgraw_u8 wait_condition, 等件條件(注意,非0)raw_u32 wait_option, raw_no_wait 0x00000000 若不滿足,不等待,立即返回 raw_wait_forever 0xffffffff 若不滿足,永久等待 0x00000001,0xfffffffe 若不滿足,超時等待raw_void *msg 保存消息的起始地址功能 當前任務是否滿足指定的

47、條件,若不滿足,則休眠等待,喚醒后會收到一則消息?說明返回值 raw_null_object cond_msg_ptr為空指針 raw_not_called_by_isr 該函數(shù)不能在isr中被調用 raw_null_pointer msg為空指針 raw_error_object_type cond_msg_ptr指向的對象不是條件消息cond_msg類型 raw_no_this_option wait_condition選項值不對,應為非0值 raw_no_pend_wait 條件不滿足,不等待,立即返回 raw_sched_disable 調度器處于上鎖狀態(tài) raw_success 成功調用返回函數(shù) raw_cond_msg_set 在raw_condition_msg.c文件中參數(shù) raw_cond_msg *cond_msg_ptr, 指向要喚醒任務的條件消息cond_msgraw_u8 condition_set, 喚醒條件raw_void *msg 要發(fā)送的消息功能 喚醒滿足喚醒條件的任務,并向其發(fā)送一則消息說明返回值 raw_null_object cond_msg_ptr為空指針

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論