OSAL的應(yīng)用編程接口_第1頁
OSAL的應(yīng)用編程接口_第2頁
OSAL的應(yīng)用編程接口_第3頁
OSAL的應(yīng)用編程接口_第4頁
OSAL的應(yīng)用編程接口_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

OSAL的應(yīng)用編程接口無線組網(wǎng)技術(shù)*CONTENTSPAGE目錄頁1編程接口函數(shù)分類編程接口函數(shù)介紹2目錄無線組網(wǎng)技術(shù)*

1.編程接口函數(shù)分類OSAL的應(yīng)用編程接口無線組網(wǎng)技術(shù)編程接口函數(shù)分類OSAL提供了API(ApplicationProgrammingInterface)對協(xié)議棧進(jìn)行管理

根據(jù)不同的應(yīng)用,可以分為消息管理任務(wù)同步時間管理中斷管理任務(wù)管理內(nèi)存管理電源管理非易失存儲管理OSAL的應(yīng)用編程接口一些API函數(shù)及主要功能函數(shù)名稱功能描述voidosal_nv_init()初始化FLASH存儲器uint8osal_init_system()初始化操作系統(tǒng)voidosal_mem_init()初始化內(nèi)存分配系統(tǒng)voidosalTimerInit()初始化定時器voidosalInitTasks()初始化系統(tǒng)任務(wù)voidosal_start_system()進(jìn)入操作系統(tǒng)voidosal_run_system()運行操作系統(tǒng)voidosalTimeUpdate()操作系統(tǒng)時間更新voidHal_ProcessPoll()硬件層檢查OSAL的應(yīng)用編程接口*

2.編程接口函數(shù)介紹無線組網(wǎng)技術(shù)OSAL的應(yīng)用編程接口消息管理

負(fù)責(zé)消息緩存分配、釋放、接收、發(fā)送等uint8*osal_msg_allocate(uint16len)申請消息緩存區(qū),該函數(shù)調(diào)用void*osal_mem_alloc(uint16size)函數(shù)實現(xiàn),從堆中申請存儲空間

uint8osal_msg_deallocate(uint8*msg_ptr)接收到消息的任務(wù)處理完成后釋放消息緩存空間

uint8osal_msg_send(uint8destination_task,uint8*msg_ptr)發(fā)送消息到指定任務(wù),將消息放入隊列,并把任務(wù)的相應(yīng)事件標(biāo)志置位

uint8*osal_msg_receive(uint8task_id)消息接收,在任務(wù)處理完消息后,必修釋放消息的存儲空間。該函數(shù)查找消息隊列,如果消息隊列中有多個發(fā)送給該任務(wù)的消息,保持事件標(biāo)志位

osal_event_hdr_t*osal_msg_find(uint8task_id,uint8event)尋找消息:發(fā)送給具有某個事件的任務(wù)的消息OSAL的應(yīng)用編程接口任務(wù)同步

負(fù)責(zé)任務(wù)間的時間同步,允許一個任務(wù)等待一個事件的發(fā)生uint8osal_set_event(uint8task_id,uint16event_flag)設(shè)置任務(wù)的事件標(biāo)志。event_flag為16位,只有一個系統(tǒng)事件SYS_EVENT_MSG,其余的事件都是用戶定義的事件。OSAL的應(yīng)用編程接口時間管理

允許內(nèi)部任務(wù)以及應(yīng)用層任務(wù)使用定時器,函數(shù)提供了啟動和停止定時器的功能,定時器最小增量為1毫秒。uint8osal_start_timerEx(uint8taskID,uint16event_id,uint16timeout_value)為某個任務(wù)啟動一個定時器,taskID為任務(wù)ID,event_id為用戶指定的事件標(biāo)志位,timeout_value為超時時間,以ms為單位

uint8osal_start_reload_timer(uint8taskID,uint16event_id,uint16timeout_value)啟動定時器,與上一個函數(shù)不同的是該函數(shù)設(shè)置的定時器超時后被重新裝載

uint8osal_stop_timerEx(uint8task_id,uint16event_id)停止一個已經(jīng)開始的定時器

uint32osal_GetSystemClock(void)獲取系統(tǒng)時間,返回值以ms為單位OSAL的應(yīng)用編程接口中斷管理

負(fù)責(zé)外部中斷的開啟和停止uint8osal_int_enable(uint8interrupt_id)允許某個中斷

uint8osal_int_disable(uint8interrupt_id)禁止某個中斷OSAL的應(yīng)用編程接口任務(wù)管理

負(fù)責(zé)對OSAL的任務(wù)進(jìn)行管理osal_init_system()該函數(shù)初始化OSAL系統(tǒng)。該函數(shù)必須在啟動任何一個OSAL函數(shù)之前被調(diào)用

osal_start_system()這個函數(shù)是系統(tǒng)任務(wù)的主循環(huán)函數(shù),在循環(huán)里面將遍歷所有的任務(wù)事件,為觸發(fā)事件的任務(wù)調(diào)用任務(wù)事件處理函數(shù)。如果一個特定任務(wù)有事件發(fā)送,那么該函數(shù)就將調(diào)用該任務(wù)的事件處理函數(shù)。當(dāng)事件處理完之后,將返回主循環(huán)。繼續(xù)查找其他的任務(wù)事件。如果沒有事件,函數(shù)將把處理器轉(zhuǎn)到睡眠模式OSAL的應(yīng)用編程接口內(nèi)存管理

負(fù)責(zé)對內(nèi)存進(jìn)行管理

osal_mem_alloc()內(nèi)存分配函數(shù),如果成功則返回一個緩沖區(qū)的指針osal_mem_free()釋放已分配的內(nèi)存來重新使用。只有當(dāng)內(nèi)存已使用osal_mem_alloc()分配過才可以工作OSAL的應(yīng)用編程接口電源管理

負(fù)責(zé)對電源進(jìn)行管理voidosal_pwrmgr_init(void)初始化電源管理模塊的變量,被osal_init_system()調(diào)用

voidosal_pwrmgr_powerconserve(void)使系統(tǒng)進(jìn)入節(jié)電模式,已經(jīng)在系統(tǒng)的主循環(huán)中被調(diào)用,不能調(diào)用

voidosal_pwrmgr_device(uint8pwrmgr_device)全局設(shè)備電源的開關(guān)

uint8osal_pwrmgr_task_state(uint8task_id,uint8state)控制任務(wù)節(jié)電狀態(tài)OSAL的應(yīng)用編程接口非易失性存儲器管理

非易失性存儲器(Non-VolatileMemory:NV)的操作耗時費電,并且將暫時關(guān)閉中斷,最好在收發(fā)器關(guān)閉的時候調(diào)用這些函數(shù)

uint8osal_nv_item_init(uint16id,uint16len,void*buf)初始化一個NVitemuint8osal_nv_read(uint16id,uint16offset,uint16len,void*buf)讀取NVuint8osal_nv_write(uint16id,uint16offset,uint16len,void*buf)寫入NV

osal_

溫馨提示

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

評論

0/150

提交評論