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

正文內(nèi)容

arm硬件試題庫(kù)及答案-資料下載頁(yè)

2025-06-20 07:10本頁(yè)面
  

【正文】 ARM芯片的I/O端口控制LED顯示??刂迫缦掠布韴D中的四個(gè)發(fā)光二極管LEDLEDLEDLED4,使它們有規(guī)律地點(diǎn)亮和熄滅,具體順序如下:LED1亮→LED2亮→LED3亮→LED4亮→LED1滅→LED2滅→LED3滅→LED4滅→全亮→全滅,如此反復(fù)。參考答案及要點(diǎn):include void led_on(void){ int i,nOut。 nOut=0xF0。 rGPFDAT=nOut amp。 0x70。 for(i=0。i100000。i++)。 rGPFDAT=nOut amp。 0x30。 for(i=0。i100000。i++)。 rGPFDAT=nOut amp。 0x10。 for(i=0。i100000。i++)。 rGPFDAT=nOut amp。 0x00。 for(i=0。i100000。i++)。}void led_off(void){ int i,nOut。 nOut=0。 rGPFDAT = 0。 for(i=0。i100000。i++)。 rGPFDAT = nOut | 0x80。 for(i=0。i100000。i++)。 rGPFDAT |= nOut | 0x40。 for(i=0。i100000。i++)。 rGPFDAT |= nOut | 0x20。 for(i=0。i100000。i++)。 rGPFDAT |= nOut | 0x10。 for(i=0。i100000。i++)。}void led_on_off(void){ int i。 rGPFDAT=0。 for(i=0。i100000。i++)。 rGPFDAT=0xF0。 for(i=0。i100000。i++)。}實(shí)現(xiàn)CAN總線通信需要哪兩個(gè)芯片?畫出S3C44B0利用CAN總線進(jìn)行通信的硬件連接示意圖。要實(shí)現(xiàn)兩個(gè)開發(fā)平臺(tái)間通過CAN總線雙機(jī)通信,應(yīng)如何設(shè)計(jì)程序(給出軟件設(shè)計(jì)思路或程序流程圖)。答:1)MCP2510和TJA1050。(2分)2)(3分) 3)能正確表示CAN總線的初始化和發(fā)送接收編程思路(3分) 開發(fā)平臺(tái)A編程思路:1)初始化MCP2510 2)啟動(dòng)can總線收發(fā) 3)通過can口發(fā)送一個(gè)字符 開發(fā)平臺(tái)B編程思路:1)初始化MCP2510 2)啟動(dòng)can總線收發(fā) 3)通過can口接收一個(gè)字符給出S3C44B0通過驅(qū)動(dòng)器控制步進(jìn)電機(jī)的硬件連接示意圖;已知步進(jìn)電機(jī)正轉(zhuǎn)時(shí)的控制順序?yàn)锳→AB→B→BC→C→CD→D→DA,以列表的形式給出各I/O控制口的值??梢酝ㄟ^哪個(gè)宏來設(shè)置I/O控制口的值。答:1)2)高四位I/O控制口的值3)可以通過宏SETEXIOBITMASK(bit,mask)()來設(shè)置擴(kuò)展I/O 口。TCP/IP協(xié)議可以分為哪幾層?畫出S3C44B0進(jìn)行網(wǎng)絡(luò)通信的硬件框圖;要實(shí)現(xiàn)基于UDP的網(wǎng)絡(luò)通信,應(yīng)如何設(shè)計(jì)程序,給出編程思路或程序流程圖。1)分為: 物理層數(shù)據(jù)鏈路層( Ethernet MAC)網(wǎng)絡(luò)層(IP、ARP、ICMP、IGMP)傳輸層 (TCP、UDP)應(yīng)用層(BSD Sockets) 2)3)能正確描述實(shí)現(xiàn)網(wǎng)絡(luò)初始化、創(chuàng)建、綁定、發(fā)送和接收UPD包的過程。編程思路:1)初始化以太網(wǎng) 2)創(chuàng)建socket套接字 3)綁定socket套接字和本機(jī)Ip 4)通過socket發(fā)送數(shù)據(jù) 或5)通過socket接收數(shù)據(jù) 最后兩步順序可換獨(dú)立式鍵盤和矩陣式鍵盤各有什么優(yōu)缺點(diǎn)?畫出矩陣式鍵盤連接示意圖;若采用矩陣式鍵盤,怎樣編程獲得按下的鍵值,給出編程思路或流程圖。1)獨(dú)立式鍵盤占有I/O口較多,但編程簡(jiǎn)單;矩陣式鍵盤占有I/O接口較少,編程相對(duì)復(fù)雜。 2)3)識(shí)別矩陣鍵盤按鍵的方法分為兩步:第一步,識(shí)別鍵盤有無鍵被按下;第二步,如果有鍵被按下,識(shí)別出具體的按鍵。識(shí)別鍵盤有無鍵被按下的方法是:讓所有行線均置為0電平,檢查各列線電平是否有變化,如果有變化,則說明有鍵被按下,如果沒有變化,則說明無鍵被按下。識(shí)別具體按鍵的方法是(亦稱掃描法):逐行置零電平,其余各行置為高電平,檢查各列線電平的變化,如果某列電平有高電平變?yōu)榱汶娖?,則可確定此行此列交叉點(diǎn)處的按鍵被按下閱讀以下S3C2410部分用戶手冊(cè).求:當(dāng)PCLK 或 UCLK 為40 MHz時(shí),串口0的波特率為2400 bps ,串口1的波特率為115200bps,相應(yīng)的控制寄存器如何設(shè)置.(8分)UART BAUD RATE DIVISOR REGISTERThere are three UART baud rate divisor registers(寄存器)including UBRDIV0, UBRDIV1 and UBRDIV2 in the UART block(模塊). The value stored in the baud rate divisor register (UBRDIVn), is used to determine the serial Tx/Rx clock rate(baud rate) as follows:UBRDIVn = (int)(PCLK / (bps x 16) ) –1orUBRDIVn = (int)(UCLK / (bps x 16) ) –1Where, the divisor should be from 1 to (2161) and UCLK should be smaller than PCLK.Register AddressR/WDescriptionReset ValueUBRDIV00x50000028R/W Baud rate divisor register 0–UBRDIV10x50004028R/WBaud rate divisor register 1–UBRDIV20x50008028R/WBaud rate divisor register 2–UBRDIVnBitDescriptionInitial StateUBRDIV [15:0]Baud rate division valueUBRDIVn 0–答: 根據(jù)UBRDIVn = (int)(PCLK / (bps x 16) ) –1寄存器UBRDIV0= (int)(40000000/2400*16)1=1040=10000010000(B)寄存器UBRDIV1=( int)(40000000/115200*16)1=20=10100(B) 試寫出μC/OSII多任務(wù)程序框架結(jié)構(gòu)C程序示意代碼,要求至少包含兩個(gè)任務(wù),并為每個(gè)任務(wù)設(shè)計(jì)和分配堆棧,同時(shí)要求每個(gè)任務(wù)都有機(jī)會(huì)獲得處理器運(yùn)行。另外回答以下問題(1) 在操作系統(tǒng)多任務(wù)調(diào)度策略中,什么是基于優(yōu)先級(jí)的搶占式調(diào)度策略?在μC/OSII中是如何防止最高優(yōu)先級(jí)任務(wù)獨(dú)占CPU的? (2) μC/OSII中每個(gè)任務(wù)都是死循環(huán),如果最高優(yōu)先級(jí)任務(wù)的這個(gè)死循環(huán)中出現(xiàn)了這樣一句代碼:“ for(。)。 ”,試問會(huì)出現(xiàn)什么現(xiàn)象?為什么?如何防止?參考答案:代碼框架int Stack1[1024]。 //定義將用于任務(wù)堆棧的數(shù)組int Stack2[1024]。 //定義將用于任務(wù)堆棧的數(shù)組void Task1 (void *pdata){ for (。) { … … OSTimeDlyHMSM(0, 0, 4, 0)。 //等待 }}void Task2 (void *pdata){ for (。) { … … OSTimeDlyHMSM(0, 0, 4, 0)。 //等待 }}void main (void){ char* s1=Q。 //定義要顯示的字符 char* s2=A。 //定義要顯示的字符 OSInit()。 //初始化uCOS_II OSTaskCreate(Task1, //創(chuàng)建任務(wù)MyTask s1, //給任務(wù)傳遞參數(shù) amp。 Stack1 [TASK_STK_SIZE 1], //設(shè)置任務(wù)堆棧棧頂指針 0)。 //使任務(wù)MyTask的優(yōu)先級(jí)別為0 OSTaskCreate(Task2, //創(chuàng)建任務(wù)MyTask s2, //給任務(wù)傳遞參數(shù) amp。 Stack2 [TASK_STK_SIZE 1], //設(shè)置任務(wù)堆棧棧頂指針 1)。 //使任務(wù)MyTask的優(yōu)先級(jí)別為0 OSStart()。 //啟動(dòng)uCOS_II的多任務(wù)管理}最高優(yōu)先級(jí)任務(wù)中出現(xiàn)了for ( 。 。 ) 。 ,將出現(xiàn)死機(jī),因?yàn)槠渌蝿?wù)都無法剝奪該任務(wù)的CPU,而該任務(wù)陷入不會(huì)主動(dòng)放棄CPU的死循環(huán),解決辦法就是規(guī)定除了空閑任務(wù),每個(gè)任務(wù)在進(jìn)入下一輪循環(huán)之前,必須主動(dòng)調(diào)用延時(shí)函數(shù)或多或少的放棄CPU一定時(shí)間。25 / 25
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1