freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

中斷處理與時(shí)間管理-資料下載頁(yè)

2025-01-10 04:19本頁(yè)面
  

【正文】 00個(gè)時(shí)鐘節(jié)拍,分辨率=500L/ OS_TICKS_PER_SEC/1000L。 – 例如, OS_TICKS_PER_SEC= 1000,最小計(jì)數(shù)單位是 1ms,精度 = (個(gè)最小計(jì)算單位)。 注意事項(xiàng) ? 181。C/OSⅡ 支持的延時(shí)最長(zhǎng)為 65,535個(gè)節(jié)拍。要想支持更長(zhǎng)時(shí)間的延時(shí),需采用一定的算法,一般的做法是將延時(shí)時(shí)鐘數(shù)分割為兩部分:一部分是 65,535個(gè)節(jié)拍的數(shù)目,另一部分是總數(shù)減去 65,535后剩下的節(jié)拍數(shù),然后先算剩下的節(jié)拍數(shù),再算 65,535節(jié)拍數(shù)。 – 例如,若 OS_TICKS_PER_SEC的值為 100,用戶想延時(shí) 15分鐘,則 OSTimeDlyHMSM()會(huì)延時(shí) 15 60 100 = 90,000個(gè)時(shí)鐘。這個(gè)延時(shí)會(huì)被分割成兩次 32,768個(gè)節(jié)拍的延時(shí)(因?yàn)橛脩糁荒苎訒r(shí) 65,535個(gè)節(jié)拍而不是 65536個(gè)節(jié)拍)和一次 24,464個(gè)節(jié)拍的延時(shí)。在這種情況下, OSTimeDlyHMSM()首先考慮剩下的節(jié)拍,然后是超過(guò) 65,535的節(jié)拍數(shù)(即兩個(gè) 32,768個(gè)節(jié)拍延時(shí))。 ? 由于受到 OSTimeDlyHMSM()具體實(shí)現(xiàn)方法的限制,用戶不能結(jié)束延時(shí)調(diào)用 OSTimeDlyHMSM()要求延時(shí)超過(guò)65,535個(gè)節(jié)拍的任務(wù)。 – 假如,時(shí)鐘節(jié)拍的頻率是 100Hz,用戶就不能調(diào)用OSTimeDlyHMSM(0, 10, 55, 350)或更長(zhǎng)延遲時(shí)間的任務(wù); ? 只能在任務(wù)中調(diào)用。 源代碼及其注釋 范例 ,OSTimeDlyResume() ? 函數(shù)原型 – INT8U OSTimeDlyResume(INT8U prio) – OSTimeDlyResume()函數(shù)用于喚醒一個(gè)用 OSTimeDly()或OSTimeDlyHMSM()函數(shù)延時(shí)的任務(wù)。正在延時(shí)的任務(wù)可以通過(guò)調(diào)用該函數(shù)取消延時(shí)來(lái)使自己處于就緒態(tài),而不必等待延時(shí)期滿。OSTimeDlyResume()還可以喚醒正在等待事件的任務(wù),但不推薦使用這種方法。 – 另外,如果任務(wù)是通過(guò)等待信號(hào)量、郵箱或消息隊(duì)列來(lái)延時(shí)自己的,那么可以簡(jiǎn)單地通過(guò)控制信號(hào)量、郵箱或消息隊(duì)列來(lái)恢復(fù)任務(wù)。這種情況存在的唯一問(wèn)題是可能會(huì)多占用一些內(nèi)存,因?yàn)樗笥脩舴峙涫录刂茐K。 – 函數(shù)只需要 1個(gè)參數(shù) prio,即指定要喚醒任務(wù)的優(yōu)先級(jí)。 返回值 ?函數(shù)的返回值如下述內(nèi)容之一: – OS_ON_ERR 調(diào)用成功; – OS_PRIO_INVALID 參數(shù)指定的優(yōu)先級(jí)大于 OS_LOWEST_PRIO; – OS_TASK_NOT_DLY 要喚醒的任務(wù)不在掛起狀態(tài); – OS_TASK_NOT_EXIST 指定的任務(wù)不存在。 注意事項(xiàng) ? 一般不推薦去喚醒一個(gè)設(shè)置了等待超時(shí)操作且等待事件發(fā)生的任務(wù),盡管操作的結(jié)果可以使該任務(wù)結(jié)束等待; ? 不能喚醒一個(gè)用 OSTimeDlyHMSM()延時(shí)且總延時(shí)時(shí)間超過(guò) 65,536個(gè)時(shí)鐘節(jié)拍的任務(wù)。例如,若系統(tǒng)時(shí)鐘為 100Hz,不能喚醒延時(shí)OSTimeDlyHMSM( 0, 10, 55, 350)或更長(zhǎng)時(shí)間的任務(wù); ? 可以喚醒正在等待事件的任務(wù),但不推薦使用; ? 只能在任務(wù)中調(diào)用。 范例 系統(tǒng)時(shí)間, OSTimeGet()和 OSTimeSet() ? 時(shí)鐘節(jié)拍每發(fā)生一次, 181。C/OSⅡ 就會(huì)給一個(gè) 32位計(jì)數(shù)器 OSTime加 1,這個(gè)計(jì)數(shù)器在調(diào)用OSStart()啟動(dòng)多任務(wù)時(shí)和執(zhí)行完畢65,536 65,536= 4,294,967,295個(gè)節(jié)拍后從0開始計(jì)數(shù)。 –如果時(shí)鐘節(jié)拍的頻率等于 100Hz,即 10ms計(jì)數(shù) 1次,那么這個(gè) 32位的計(jì)數(shù)器每隔 497天就從 0開始計(jì)數(shù)。 ? 用戶可以通過(guò)調(diào)用 OSTimeGet()函數(shù)來(lái)獲得該計(jì)數(shù)器的當(dāng)前值,通過(guò)調(diào)用 OSTimeSet()函數(shù)來(lái)改變?cè)撚?jì)數(shù)器的值。 函數(shù)原型 ? INT32U OSTimeGet( void) 獲取系統(tǒng)時(shí)間,返回獲取當(dāng)前時(shí)鐘節(jié)拍數(shù)。 ? void OSTimeSet(INT32U ticks) 設(shè)置系統(tǒng)時(shí)間,參數(shù)是需要設(shè)置的時(shí)鐘數(shù)量,單位是時(shí)鐘節(jié)拍數(shù)。 ? 它們的調(diào)用者可以是任務(wù),也可以是中斷。 OSTimeGet()和 OSTimeSet()兩個(gè)函數(shù)的代碼如程序清單 。因?yàn)?OSTime是全局變量,所以訪問(wèn) OSTime時(shí),需要關(guān)閉中斷。在大多數(shù) 8位 CPU上增加和復(fù)制一個(gè) 32位的數(shù)都需要多條指令,這些指令需要一次執(zhí)行完畢,而不能被打斷。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1