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

正文內(nèi)容

基于stm32的嵌入式操作系統(tǒng)程序設(shè)計(jì)及實(shí)現(xiàn)畢業(yè)論文-閱讀頁(yè)

2025-07-11 09:30本頁(yè)面
  

【正文】 傳遞的參數(shù) // 剩下的寄存器初始化 *(stk) = (INT32U)0x00000000L。 //R10 *(stk) = (INT32U)0x00000000L。 //R8 *(stk) = (INT32U)0x00000000L。 // R6 *(stk) = (INT32U)0x00000000L。 // R4 return (stk)。這樣,整個(gè)移植的代碼就介紹完了。剩下的工作就是編寫(xiě)用戶任務(wù),并在開(kāi)發(fā)板上驗(yàn)證,以此來(lái)驗(yàn)證該移植方案是可行的和成功的。RealView MDK 集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),支持 ARMARM9 和 CortexM3 核處理器,自動(dòng)配置啟動(dòng)代碼,集成 Flash 燒寫(xiě)模塊,強(qiáng)大的 Simulation 設(shè)備模塊,性能分析等功能。打開(kāi) MDK 軟件,選擇 Project→New uVision Project 菜單項(xiàng),新建一個(gè)文件夾名為“畢業(yè)設(shè)計(jì) ”,保存,則彈出器件選擇對(duì)話框,這里選擇 STM32F103RB。打開(kāi)“畢業(yè)設(shè)計(jì) ”文件夾,在里面添加子文件夾(2)添加系統(tǒng)文件與工程管理?;氐焦こ讨?,點(diǎn)擊 manage ponents,添加工程中的文件,進(jìn)行分類管理工程。 硬件平臺(tái)紹ALIENTEK MiniSTM32 選擇的是 STM32F103RBT6 作為MCU,STM32F103 的型號(hào)眾多,作為一款低端開(kāi)發(fā)板,選擇 STM32F103RBT6 是最佳的選擇。這樣的配置無(wú)論放到那里都是很不錯(cuò)的了,更重要的是其價(jià)格,18元左右的零售價(jià),相對(duì)其他芯片配置及價(jià)格,所以我們選擇了它作為我們的主芯片。ALIENTEK 這款開(kāi)發(fā)板專門設(shè)計(jì)了一鍵下載電路,通過(guò)串口的 DTR 和 RTS 信號(hào),來(lái)自動(dòng)配置 BOOT0 和 武昌工學(xué)院畢業(yè)論文(設(shè)計(jì))專用稿紙13BOOT1,因此不需要用戶來(lái)手動(dòng)切換他們的狀態(tài),直接串口下載和軟件自動(dòng)控制,可以非常方便的下載代碼。PORTA 和 PORTB 都是按順序排列的,這樣設(shè)計(jì)的目的是為了讓大家更方便地與外部設(shè)備連接。這里不直接連在一起的原因有二:1,防止紅外傳感器和 DS18B20 對(duì)這兩個(gè) IO 口作為其他功能使用的時(shí)候的影響;2,DS18B20 和紅外傳感器還可以用來(lái)給其他板子提供輸入,等于我們的板子為別的板子提供了紅外接口和溫度傳感器,在調(diào)試的時(shí)候,還是蠻有用的。這樣設(shè)計(jì)有 2 個(gè)好處:1,使得 PA9 和 PA10 用作其他用途。2,USB 轉(zhuǎn)串口可以用作他用,并不僅限在這個(gè)板上的 STM32 使用,也可以連接到其他板子上,這樣 ALIENEK MiniSTM32 就相當(dāng)于一個(gè) USB 串口。 在此部分原理圖中,我們還可以看到 STM32F103RBT6 的各個(gè) IO 口與外設(shè)的連接關(guān)系,這些將在后面給大家介紹。這樣,VBAT 總是有電的,以保證 RTC 的走時(shí)以及后備寄存器的內(nèi)容不丟失。STM32F103 使用 供電,且引腳接有濾波電容,保證芯片工作穩(wěn)定;復(fù)位電路使用的低電平復(fù)位,該電路上電可以復(fù)位,按鍵按下時(shí)也可以復(fù)位;時(shí)鐘電路使用 8MHZ 晶振,和 22pF 電容助振。圖 液晶顯示 LED 接口輸入單元和指示部分,直接引到 STM32F103 的 IO 口。圖 紅處接收單元 C 程序設(shè)計(jì)在181。 首先,建立基本的工程后,在該工程源碼下面加入181。C/OSII源碼(我們已經(jīng)將181。打開(kāi)工程,新建181。C/OSII PORT和181。C/OSII三個(gè)文件夾下的源碼,并將這三個(gè)文件夾加入頭文件包含路徑。C/OSIICORE分組下面是181。 181。C/OSII要修改的 3個(gè)代碼,這個(gè)在移植的時(shí)候完成。C/OSIICONFIG分組下面是181。C/OSII進(jìn)行裁剪或其他設(shè)置。C/OSII 的時(shí)鐘節(jié)拍為 5ms,同時(shí)設(shè)置 OS_MAX_TASKS 為 10,也就是最多10 個(gè)任務(wù)(包括空閑任務(wù)和統(tǒng)計(jì)任務(wù)在內(nèi))。如圖 所示:武昌工學(xué)院畢業(yè)論文(設(shè)計(jì))專用稿紙16圖 任務(wù)結(jié)構(gòu) 調(diào)試 設(shè)置編譯環(huán)境(1)打開(kāi) project 菜單,選擇 Options for Target“畢業(yè)設(shè)計(jì)”對(duì)話框,如圖 在 target 中,將晶振選為 8MHz;在 output 中,將 Creat HEX File 復(fù)選框選中。圖 編譯環(huán)境窗口武昌工學(xué)院畢業(yè)論文(設(shè)計(jì))專用稿紙17(2)在 C/C++中,將各分文件的路徑加入如圖 圖 路徑添加(3)在 Debug 中,將 Use 選中并設(shè)置為 CortexM/R JLINK/JTrace,設(shè)為JINK 連接實(shí)物仿真了。圖 Utilities 調(diào)試結(jié)果編譯程序,排出 error 和 warning,如圖 得到正確的程序,下載程序到開(kāi)發(fā)板上,得到了預(yù)期結(jié)果圖 編譯結(jié)果將程序下載到開(kāi)發(fā)板上,并觀察現(xiàn)象,LED 小燈按程序要求正常運(yùn)行,紅外接收器正確顯示數(shù)值,按鍵 KEY0 可實(shí)現(xiàn)進(jìn)入校準(zhǔn)功能,KEY1 可以顯示歡迎界面,KEY2 可以清除,說(shuō)明程序正確。C/OSII 的嵌入式操作系統(tǒng)的移植和功能的實(shí)現(xiàn)。C/OSII 的性能、特點(diǎn)、結(jié)構(gòu)和基本運(yùn)行原理,以及通過(guò)實(shí)驗(yàn)調(diào)試的方法完成對(duì) 181。認(rèn)真掌握 CortexM3 的硬件結(jié)構(gòu)和指令系統(tǒng),并在 ALIENTEK MiniSTM32 開(kāi)發(fā)板上調(diào)試串口,TFT 彩屏以及 ADC 實(shí)驗(yàn)。C/OSII 移植到 Cortex 微處理器上,并對(duì)其進(jìn)行系統(tǒng)測(cè)試和系統(tǒng)功能實(shí)現(xiàn),實(shí)現(xiàn)了一個(gè)基本完整的嵌入式實(shí)時(shí)操作系統(tǒng)。另一方面,它又是一個(gè)相對(duì)完整的系統(tǒng),可以應(yīng)用于工業(yè)控制的各個(gè)顯示終端,完成指示功能。C/OSII 是為嵌入式應(yīng)用編寫(xiě)的通用軟件,所以不得不強(qiáng)調(diào)處理器的通用性和功能的全面性。其次,本文所調(diào)度的任務(wù)較簡(jiǎn)單,主要是為了說(shuō)明方法。任務(wù)中加入更多任務(wù)時(shí)老出錯(cuò),程序不能正常運(yùn)行,但通不斷學(xué)習(xí),查閱資料得以解決。最后,感謝指導(dǎo)老師的關(guān)懷和細(xì)心的指導(dǎo),感謝同學(xué)們的幫助。C/OSII. 第 2 版. 北京:北京航空航天大學(xué)出版社,2022.[11] 譚浩強(qiáng)(著 ). C 程序設(shè)計(jì) (第三版). 北京:清華大學(xué)出版社,2022.[12] 周立功等. ARM 嵌入式系統(tǒng)基礎(chǔ)教程 . 北京:北京航空航天大學(xué)出版社 ,2022.[13] Malinowski Mariusz. Jasin39。OS_STK TASK_LED_STK[LED1_STK_SIZE]。OS_STK TASK_START_STK[START_STK_SIZE]。OS_STK TASK_TOUCH_STK[TOUCH_STK_SIZE]。void TaskLed(void *pdata)。void TaskLCD(void *pdata)。void TaskTouch(void *pdata)。 POINT_COLOR=BLUE。//顯示清屏區(qū)域LCD_DrawLine(0, 158, 240, 158)。LCD_DrawLine(120, 75, 240, 75)。//設(shè)置畫(huà)筆紅色 }//進(jìn)入觸摸屏校準(zhǔn)界面 void Load_Adjust_Panel() { LCD_Clear(WHITE)。 //屏幕校準(zhǔn) Save_Adjdata()。LCD_ShowString(10,160,Touch Panel:)。 }int main(void) {SystemInit()。 //延時(shí)初始化NVIC_Configuration()。//串口初始化,波特率 9600 LED_Init()。 //KEY 端口初始化LCD_Init()。武昌工學(xué)院畢業(yè)論文(設(shè)計(jì))專用稿紙22AT24CXX_Init()。 //觸摸屏初始化delay_ms(500)。Remote_Init()。OSInit()。TASK_START_STK[START_STK_SIZE1],//task stack top pointerSTART_TASK_Prio )。return 0。 //OS_ENTER_CRITICAL()。TASK_LED_STK[LED_STK_SIZE1], LED_TASK_Prio)。TASK_LED1_STK[LED1_STK_SIZE1], LED1_TASK_Prio)。TASK_LCD_STK[LCD_STK_SIZE1], LCD_TASK_Prio)。TASK_KEY_STK[KEY_STK_SIZE1], KEY_TASK_Prio)。TASK_TOUCH_STK[TOUCH_STK_SIZE1], TOUCH_TASK_Prio)。 //suspend but not deleteOS_EXIT_CRITICAL()。OSTimeDlyHMSM(0,0,0,800)。OSTimeDlyHMSM(0,0,0,300)。 while(1){ key=KEY_Scan()。 } else if(key==2) { LCD_ShowString(125,80, Wel !!! )。LCD_ShowString(125,120, Graduation !)。 LCD_ShowString(125,100, )。 } OSTimeDlyHMSM(0,0,0,20)。u8 key。 LCD_ShowString(10,4,LCD Display Panel)。 LCD_Fill(10,30,50,120,colorTable[colorIndex])。 LCD_Fill(60,30,90,120,colorTable[colorIndex])。 LCD_ShowString(122,30, KEYCNT:)。 if(Remote_Rdy){key=Remote_Process()。//顯示鍵值LCD_ShowNum(190,30,Remote_Cnt,3,16)。break。 break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。武昌工學(xué)院畢業(yè)論文(設(shè)計(jì))專用稿紙26break。break。break。break。 } }//任務(wù) 5//觸摸畫(huà)筆 void TaskTouch(void *pdata) { LCD_ShowString(10,160,Touch Panel:)。 //觸摸中斷線映射 if(==Key_Down)//觸摸屏被按下{Pen_Int_Set(0)。=Key_Up。amp。//清除else if(180){Draw_Big_Point(,)。 } Pen_Int_Set(1)。}
點(diǎn)擊復(fù)制文檔內(nèi)容
外語(yǔ)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1