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

正文內(nèi)容

緒、jeanjlabrosse的故事80年代末,我設(shè)計(jì)了一個(gè)基于-資料下載頁(yè)

2024-09-01 08:06本頁(yè)面

【導(dǎo)讀】80年代末,我設(shè)計(jì)了一個(gè)基于Intel80C188的產(chǎn)品,需要一個(gè)實(shí)時(shí)內(nèi)核。約1000美元以下)讓我總給該廠(chǎng)商打電話(huà)求援。C/OS-II在ARM系統(tǒng)中的應(yīng)。至今,μC/OS的書(shū)已售出了15,000多冊(cè)。植到以下一些CPU上。摩托羅拉公司PowerPC,μC/OS-II意為“微控制器操作系統(tǒng)版本2”。世界上已有數(shù)千人在各個(gè)領(lǐng)域使用μC/OS,校將μC/OS用于實(shí)時(shí)系統(tǒng)教學(xué)。大約有15000臺(tái)投入市場(chǎng)。我們將繼續(xù)應(yīng)用μC/OS以及Micriμm的其它。主要原因是它與其它市場(chǎng)上的實(shí)時(shí)操作系統(tǒng)相比的相對(duì)低廉的費(fèi)用。另一個(gè)主要原因是資源和內(nèi)設(shè)的可獲得性。最后一點(diǎn),μC/OS-II有足夠。SH-2快速,有效的執(zhí)行與μC/OS-II的。和商務(wù)設(shè)備的控制使用和收費(fèi),以進(jìn)行數(shù)據(jù)傳輸,對(duì)源代碼的完全控制。與微處理器硬件相關(guān)的部分是使用匯編語(yǔ)言編寫(xiě)的,以使µC/OS-Ⅱ更方便于移植到其他微處理器上使用。的實(shí)時(shí)內(nèi)核,運(yùn)行就緒條件下優(yōu)先級(jí)最高的任務(wù)。建議用戶(hù)保留8個(gè)任務(wù)給µC/OS-Ⅱ。使用µC/OS-Ⅱ的??臻g校驗(yàn)函數(shù)可確定每個(gè)。中斷嵌套全部退出后立即執(zhí)行。中斷嵌套層數(shù)可達(dá)255

  

【正文】 可再調(diào)用該函數(shù),它的作用就是創(chuàng)建一個(gè)任務(wù)。 OSTaskCreate()函數(shù)有 4個(gè)參數(shù),它們分別是任務(wù)的入口地址、任務(wù)的參數(shù)、任務(wù)堆棧的首地址和任務(wù)的優(yōu)先級(jí)。在調(diào)用這個(gè)函數(shù)后,系統(tǒng)會(huì)首先從 TCB空閑列表內(nèi)申請(qǐng)一個(gè)空的 TCB指針,然后根據(jù)用戶(hù)給出的參數(shù)初始化任務(wù)堆棧,并在內(nèi)部的任務(wù)就緒表內(nèi)標(biāo)記該任務(wù)為就緒狀,然后返回。這樣,一個(gè)任務(wù)就創(chuàng)建成功了。 66 2). OSTaskSuspend()函數(shù) 該函數(shù)可將指定的任務(wù)掛起。如果掛起的是當(dāng)前任務(wù),那么還會(huì)引發(fā)系統(tǒng)執(zhí)行任務(wù)切換先導(dǎo)函數(shù) OSShed()來(lái)進(jìn)行一次任務(wù)切換。實(shí)際上,這個(gè)函數(shù)只有一個(gè)指定任務(wù)優(yōu)先級(jí)的參數(shù)。事實(shí)上在系統(tǒng)內(nèi)部,優(yōu)先級(jí)除了表示一個(gè)任務(wù)執(zhí)行的先后次序外,還起著區(qū)分每一個(gè)任務(wù)的作用。換句話(huà)說(shuō),優(yōu)先級(jí)也就是任務(wù)的 ID。 所以, 181。C/OSⅡ 不允許出現(xiàn)相同優(yōu)先級(jí)的任務(wù)。 3). OSTaskResume()函數(shù) 該函數(shù)與 OSTaskSuspend()函數(shù)的作用正好相反,它用于將指定的已經(jīng)掛起的函數(shù)恢復(fù)為就緒狀態(tài)。如果恢復(fù)任務(wù)的優(yōu)先級(jí)高于當(dāng)前任務(wù),那么還將引發(fā)一次任務(wù)切換。其參數(shù)類(lèi)似于 OSTaskSuspend()函數(shù),用來(lái)指定任務(wù)的優(yōu)先級(jí)。需要特別說(shuō)明的是,該函數(shù)并不要求和OSTaskSuspend()函數(shù)成對(duì)使用。 67 4). OS_ENTER_CRITICAL()宏 由 OS_CPU. H文件可知, OS_ENTER_CRITICAL()和下面要談到的 OS_EXIT_CRITI_CAL()都是宏,它們都與特定的 CPU相關(guān),一般都被替換為一條或者幾條嵌入式匯編代碼。由于系統(tǒng)希望向上層開(kāi)發(fā)者隱藏內(nèi)部實(shí)現(xiàn),故一般都宣稱(chēng)執(zhí)行此條指令后系統(tǒng)進(jìn)入臨界區(qū)。其實(shí),它就是關(guān)個(gè)中斷而已。這樣,只要任務(wù)不主動(dòng)放棄 CPU使用權(quán),別的任務(wù)就沒(méi)有占用 CPU的機(jī)會(huì)了。相對(duì)這個(gè)任務(wù)而言,它就是獨(dú)占了,所以說(shuō)進(jìn)入臨界區(qū)了。這個(gè)宏應(yīng)盡量少用,因?yàn)樗鼤?huì)破壞系統(tǒng)的一些服務(wù),尤其是時(shí)間服務(wù),并使系統(tǒng)對(duì)外界響應(yīng)性能降低。 68 5). OS_EXIT__CRITICAL()宏 該宏與上面介紹的宏配套使用,在退出臨界區(qū)時(shí)使用。其實(shí)它就是重新開(kāi)中斷。需要注意的是,它必須和上面的宏成對(duì)出現(xiàn),否則會(huì)帶來(lái)意想不到的后果。嚴(yán)重時(shí)會(huì)使系統(tǒng)崩潰。因此,建議程序員盡量少用這兩個(gè)宏調(diào)用,使用它們會(huì)破壞系統(tǒng)的多任務(wù)性能。 6). OSTimeDly()函數(shù) 該函數(shù)實(shí)現(xiàn)的功能是先掛起當(dāng)前任務(wù),然后進(jìn)行任務(wù)切換。在指定的時(shí)間到來(lái)之后,將當(dāng)前任務(wù)恢復(fù)為就緒狀態(tài),但并不一定運(yùn)行。如果恢復(fù)后是優(yōu)先級(jí)最高的就緒任務(wù),那么運(yùn)行之。簡(jiǎn)而言之,就是可使任務(wù)延時(shí)一定時(shí)間后再次執(zhí)行它?;蛘哒f(shuō),暫時(shí)放棄 CPU的使用權(quán)。一個(gè)任務(wù)可以不顯式地調(diào)用這些可導(dǎo)致放棄 CPU使用權(quán)的 API, 但那樣多任務(wù)性能會(huì)大大降低。因?yàn)?,此時(shí)僅僅依靠時(shí)鐘機(jī)制在進(jìn)行任務(wù)切換,一個(gè)好的任務(wù)應(yīng)在完成一些操作后主動(dòng)放棄 CPU的使用權(quán)。 69 繪圖函數(shù)介紹以及開(kāi)發(fā)范例 181。C/ OSⅡ 僅僅是一個(gè)實(shí)時(shí)多任務(wù)的內(nèi)核 。 移植 181。C/OSⅡ 到具體的微處理器平臺(tái)以后 , 離實(shí)際的應(yīng)用還是有些距離的 。 通常根據(jù)實(shí)際項(xiàng)目要求 , 需要對(duì) 181。C/ OSⅡ 進(jìn)行擴(kuò)展 , 建立一個(gè)簡(jiǎn)單實(shí)用的實(shí)時(shí)操作系統(tǒng) 。 比如 ,添加外設(shè)驅(qū)動(dòng)程序 、 添加文件系統(tǒng) 、 以及添加基本的繪圖函數(shù) 。 繪圖是操作系統(tǒng)的圖形界面的基礎(chǔ) , 181。C/ OSⅡ 操作系統(tǒng)為圖形界面提供了豐富的繪圖函數(shù) 。 在多任務(wù)操作系統(tǒng)中 , 繪圖設(shè)備上下文 (DC)是繪圖的關(guān)鍵 。 繪圖設(shè)備上下文 (DC)保存了每一個(gè)繪圖對(duì)象的相關(guān)參數(shù) (如繪圖畫(huà)筆的寬度 、 繪圖的原點(diǎn)坐標(biāo)等 )。 在多任務(wù)操作系統(tǒng)中 ,通過(guò)繪圖設(shè)備上下文 (DC)來(lái)繪圖 , 可以保證在不同的任務(wù)中繪圖的參數(shù)是相互獨(dú)立的 , 不會(huì)互相影響 。 常用的繪圖函數(shù) ( 35個(gè)函數(shù) ) 70 typedef struct{ int DrawPointx。 int DrawPointy。 //繪圖所使用的坐標(biāo)點(diǎn) int PenWidth。 //畫(huà)筆寬度 U32 PenMode。 //畫(huà)筆模式 COLORREF PenColor。 //畫(huà)筆的顏色 int DrawOrgx。 //繪圖的坐標(biāo)原點(diǎn)位置 int DrawOrgy。 int WndOrgx。 //繪圖的窗口坐標(biāo)位置 int WndOrgy。 int DrawRangex。 //繪圖的區(qū)域范圍 int DrawRangey。 structRECT DrawRect。//繪圖的有效范圍 U8 bUpdataBuffer。 //是否更新后臺(tái)緩沖區(qū)及顯示 U32 Fontcolor。 //字符顏色 }DC,*PDC 71 initOSDC 定義: void initOSDC() 功能:初始化系統(tǒng)的繪圖設(shè)備上下文( DC),為DC的動(dòng)態(tài)分配開(kāi)辟內(nèi)存空間 CreateDC 定義: PDC CreateDC() 功能:創(chuàng)建一個(gè)繪圖設(shè)備上下文( DC),返回指向 DC的指針 DestoryDC 定義: void DestoryDC(PDC pdc) 功能:刪除繪圖設(shè)備上下文( DC),釋放相應(yīng)的資源 參數(shù)說(shuō)明: pdc:指向繪圖設(shè)備上下文( DC)的指針 72 TextOut 定義: void TextOut(PDC pdc, int x, int y, U16 *ch, U8 bunicode, U8 fnt) 功能:在 LCD屏幕上顯示文字 參數(shù)說(shuō)明: pdc:指向繪圖設(shè)備上下文( DC)的指針 x,y:所輸出文字左上角的屏幕坐標(biāo) ch:指向輸出文字字符串的指針 bunicode:是否為 Unicode編碼,如果是 TRUE,表示 ch指向的字符串為 Unicode字符集;如果為FALSE,表示表示 ch指向的字符串為 GB字符集。 fnt:指定字體的大小型號(hào) 73 MoveTo 定義: void MoveTo(PDC pdc, int x, int y) 功能:把繪圖點(diǎn)移動(dòng)到指定的坐標(biāo) 參數(shù)說(shuō)明: pdc:指向繪圖設(shè)備上下文( DC)的指針 x,y:移動(dòng)畫(huà)筆到繪圖點(diǎn)的屏幕坐標(biāo) LineTo 定義: void LineTo(PDC pdc, int x, int y) 功能:在屏幕上畫(huà)線(xiàn)。從當(dāng)前畫(huà)筆的位置畫(huà)直線(xiàn)到指定的坐標(biāo)位置,并使畫(huà)筆停留在當(dāng)前指定的位置 參數(shù)說(shuō)明: pdc:指向繪圖設(shè)備上下文( DC)的指針 x,y:直線(xiàn)繪圖目的點(diǎn)的屏幕坐標(biāo) 74 Circle 定義: void Circle(PDC pdc, int x0, int y0, int r) 功能:繪制指定圓心和半徑的圓 參數(shù)說(shuō)明: pdc:指向繪圖設(shè)備上下文( DC)的指針 x0,y0:圓心坐標(biāo) r:圓的半徑 ArcTo 定義: void ArcTo(PDC pdc, int x1,int y1, U8 arctype, int R) 功能:繪制圓弧,從畫(huà)筆的當(dāng)前位置繪制指定圓心的圓弧到給定的位置 參數(shù)說(shuō)明: pdc:指向繪圖設(shè)備上下文( DC)的指針 x1,y1:繪制圓弧的目的位置 arctype:圓弧的繪制模式 R:圓弧的半徑 75 SetDrawOrg 定義: void SetDrawOrg(PDC pdc, int x,int y, int* oldx, int *oldy) 功能:設(shè)置繪圖設(shè)備上下文( DC)的原點(diǎn) 參數(shù)說(shuō)明: pdc:指向繪圖設(shè)備上下文( DC)的指針 x,y:設(shè)定的新原點(diǎn) oldx,oldy:返回的以前原點(diǎn)的位置 ClearScreen 定義: void ClearScreen() 功能:清除整個(gè)屏幕的繪圖緩沖區(qū),即:清空LCDBuffer2 76 FillRect 定義: void FillRect(PDC pdc, int left,int top ,int right, int bottom,U32 DrawMode , COLORREF color) 功能:在屏幕上填充指定大小的矩形。 參數(shù)說(shuō)明: pdc:指向繪圖設(shè)備上下文( DC)的指針 left:繪制矩形的左邊框位置 right:繪制矩形的右邊框位置 top:繪制矩形的上邊框位置 bottom:繪制矩形的下邊框位置 DrawMode:矩形的的填充模式和顏色 color:填充的顏色值,高 8位為空,接下來(lái)的 24位分別對(duì)應(yīng) RGB顏色的 8位碼 77 Draw3DRect 定義: void Draw3DRect(PDC pdc, int left,int top, int right, int botton, COLORREF color1,COLORREF color2) 功能:繪制指定大小和風(fēng)格的 3D邊框的矩形 參數(shù)說(shuō)明: pdc:指向繪圖設(shè)備上下文( DC)的指針 left:繪制矩形的左邊框位置 right:繪制矩形的右邊框位置 top:繪制矩形的上邊框位置 bottom:繪制矩形的下邊框位置 color1:左和上的邊框顏色,高 8位為空,接下來(lái)的 24位分別對(duì)應(yīng) RGB顏色的 8位碼。 color2:右和下的邊框顏色,高 8位為空,接下來(lái)的 24位分別對(duì)應(yīng) RGB顏色的 8位碼。 78 SetPenWidth 定義: U8 SetPenWidth(PDC pdc, U8 width) 功能:設(shè)置畫(huà)筆的寬度,并返回以前的畫(huà)筆寬度 參數(shù)說(shuō)明: pdc:指向繪圖設(shè)備上下文( DC)的指針 width:畫(huà)筆的寬度,默認(rèn)值是 1,即一個(gè)像素點(diǎn)寬 SetPenMode 定義: void SetPenMode(PDC pdc, U32 mode) 功能:設(shè)置畫(huà)筆畫(huà)圖的模式 參數(shù)說(shuō)明: pdc:指向繪圖設(shè)備上下文( DC)的指針 mode:繪圖的更新模式 79 GetBmpSize 定義: void GetBmpSize(char filename[], int* Width, int* Height) 功能:取得指定位圖文件位圖的大小 參數(shù)說(shuō)明: filename[]:位圖文件的文件名 Width:位圖的寬 Height:位圖的高 ShowBmp 定義: void ShowBmp(PDC pdc, char filename[], int x, int y) 功能:顯示指定的位圖( Bitmap)文件,到指定的坐標(biāo) 參數(shù)說(shuō)明: pdc:指向繪圖設(shè)備上下文( DC)的指針 filename[]:顯示的位圖( Bitmap)文件名 x,y:顯示位圖的左上角坐標(biāo) 80 構(gòu)建的 TCP/IP/PPP協(xié)議棧 1)嵌入式協(xié)議棧概述 嵌入式協(xié)議棧的運(yùn)行必須基于嵌入式操作系統(tǒng)平臺(tái)的支持,可以與大多數(shù)嵌入式操作系統(tǒng)集成運(yùn)行。但是,協(xié)議棧以及附帶的上層接口和下層驅(qū)動(dòng)程序會(huì)給嵌入式系統(tǒng)設(shè)計(jì)設(shè)置其他的約束。例如,協(xié)議棧必須有準(zhǔn)確的時(shí)間源,以便進(jìn)行時(shí)間管理。 2)選擇協(xié)議棧 首先要根據(jù)應(yīng)用環(huán)境和使用的網(wǎng)絡(luò)技術(shù)來(lái)選擇合適的網(wǎng)絡(luò)協(xié)議棧。例如,開(kāi)發(fā)的嵌入式產(chǎn)品是基于網(wǎng)絡(luò)的打印機(jī),可以選擇 TCP/IP的協(xié)議棧。 81 為嵌入式系統(tǒng)選擇網(wǎng)絡(luò)協(xié)議棧需要從三方面進(jìn)行考慮: ( 1)網(wǎng)絡(luò)協(xié)議棧占用的內(nèi)存; ( 2)硬件資源,如通信控制器、物理層接口等; ( 3) CPU運(yùn)行協(xié)議時(shí)的開(kāi)銷(xiāo)。 3)嵌入式 TCP/IP協(xié)議棧 嵌入式系統(tǒng)通過(guò)以太網(wǎng)、電力線(xiàn)和電話(huà)線(xiàn)等載體可以實(shí)現(xiàn)與 Inter互連;也可以利用無(wú)線(xiàn)接入技術(shù)解決基礎(chǔ)電纜不到位的問(wèn)題。如果是與局域網(wǎng)連接,則只需要為嵌入式設(shè)備配備以太網(wǎng)卡和 IP地址即可。如果是利用電話(huà)線(xiàn)路,則設(shè)備可以使用電話(huà)用戶(hù)的 ID, 通過(guò) PPP協(xié)議與 TCP/IP進(jìn)行互聯(lián),在這里 PPP協(xié)議運(yùn)載 IP數(shù)據(jù)包。通過(guò)其網(wǎng)絡(luò)協(xié)議棧幾乎可以從世界上任何地方來(lái)的訪(fǎng)問(wèn)或控制這些實(shí)現(xiàn)了互聯(lián)的嵌入式裝置。 82 一般情況下, RTOS都提供了 TCP/IP協(xié)議棧,并可以進(jìn)行裁減。嵌入式 TCP/IP協(xié)議棧省去了諸如接口間轉(zhuǎn)發(fā)軟件、全套 Inter服務(wù)工具以及支持電子郵件的工具等幾個(gè)協(xié)議,這些軟件工具在嵌入式裝置中很少使用。 嵌入式協(xié)議棧的一些指標(biāo)和接口可能與普通的協(xié)議棧的區(qū)別可在如下幾個(gè)方面: ( 1)兩者的 API可能不同; ( 2)嵌入式協(xié)議棧具有可裁減性; ( 3)嵌入式 TCP/IP協(xié)議棧的平臺(tái)具有兼容性,便于移植; ( 4)嵌入式協(xié)議棧的效率較高,代碼少可減少對(duì)處理器的處理速度的要求。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1