版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、書山有路勤為徑,學(xué)海無涯苦作舟。祝愿天下莘莘學(xué)子:學(xué)業(yè)有成,金榜題名!語言類考試復(fù)習(xí)資料大全中級(jí)嵌入式系統(tǒng)設(shè)計(jì)師2019下半年下午試題中級(jí)嵌入式系統(tǒng)設(shè)計(jì)師2019下半年下午試題試題一閱讀下列說明和圖,回答問題1至問題3。 【說明】 服務(wù)型智能掃地機(jī)器人因其低廉的價(jià)格和高效的工作能力,越來越受到消費(fèi)者的認(rèn)可,目前己逐漸進(jìn)入家庭生活代替人們的清潔工作,具有廣闊的市場。 服務(wù)型智能掃地機(jī)器人需要具有自主運(yùn)動(dòng)規(guī)劃和導(dǎo)航功能,在其工作過程中,需要通過對(duì)環(huán)境信息的融合感知進(jìn)行行為決策。掃地機(jī)器人一般具備的主要功能包括: (1)緊急狀態(tài)感知:包括碰撞檢測、跌落檢測和離地檢測等功能,防止與障礙物碰撞、前方臺(tái)階
2、跌落危險(xiǎn)以及掃地機(jī)器人離地等,實(shí)現(xiàn)掃地機(jī)器人運(yùn)動(dòng)中的自我保護(hù)。 (2)姿態(tài)感知:包括運(yùn)動(dòng)里程計(jì)數(shù)和航向測量等功能,需要獲取掃地機(jī)器人的運(yùn)動(dòng)速度、行走距離、航向角度等信息。 (3)視覺感知:包括單目視覺避障系統(tǒng)和單目視覺定位系統(tǒng)等,需要通過視覺信息探測障礙物,視覺信息來自兩個(gè)單目攝像頭系統(tǒng)。在某些設(shè)計(jì)中,也可結(jié)合紅外測距傳感器進(jìn)行障礙物探測。 (4)自動(dòng)充電:在工作過程中,需要實(shí)時(shí)監(jiān)控掃地機(jī)器人的電量,且在電量少于一定閾值時(shí)自動(dòng)返回電源處進(jìn)行充電。 (5)掃地及吸塵單元:使用電機(jī)控制刷子實(shí)現(xiàn)清掃,使用抽灰電機(jī)實(shí)現(xiàn)吸塵。 (6)運(yùn)動(dòng)執(zhí)行:對(duì)機(jī)器人的運(yùn)動(dòng)進(jìn)行控制。 (7)監(jiān)控系統(tǒng):通過無線網(wǎng)絡(luò)傳遞掃
3、地機(jī)器人的狀態(tài)數(shù)據(jù)及視頻圖像等信息到遠(yuǎn)程客戶端,客戶端參與到掃地機(jī)器人的運(yùn)動(dòng)監(jiān)視及控制中,實(shí)現(xiàn)信息交互,監(jiān)控掃地機(jī)器人的實(shí)時(shí)狀態(tài)??蛻舳税≒C客戶端和手機(jī)客戶端兩種。 (8)信息處理中心:用于接收各種傳感器信息和視覺信息,通過分析處理進(jìn)行掃地機(jī)器人的運(yùn)動(dòng)控制,且負(fù)責(zé)和后臺(tái)監(jiān)控中心通信。 服務(wù)型智能掃地機(jī)器人選用ARM+STM32雙核架構(gòu)模式,分別處理數(shù)據(jù)量較大的圖像信息和短促型的非圖像信息。STM32選用STM32F103VET6芯片,用于實(shí)現(xiàn)非圖像以外的眾多傳感器的驅(qū)動(dòng)以及數(shù)據(jù)采集,并控制車輪電機(jī)的運(yùn)動(dòng);ARM選用S5PV210處理器實(shí)現(xiàn)攝像頭圖片的采集、在監(jiān)控系統(tǒng)中接入無線網(wǎng)絡(luò)、對(duì)STM
4、32串口傳過來的傳感器數(shù)據(jù)以及圖像定位和避障信息做綜合處理,生成運(yùn)動(dòng)決策,發(fā)送給STM32,執(zhí)行掃地機(jī)的前進(jìn)、后退、轉(zhuǎn)彎等。 1. 【問題1】 圖1是本題的服務(wù)型智能掃地機(jī)器人典型的功能結(jié)構(gòu)圖,請(qǐng)根據(jù)說明的描述,填寫(1)(5)空白處,完成該功能結(jié)構(gòu)圖。 圖1 掃地機(jī)器人典型的功能結(jié)構(gòu)圖 答案:(1)緊急狀態(tài)感知 (2)跌落檢測 (3)航向測量 (4)單目視覺避障系統(tǒng) (5)掃地及吸塵單元考點(diǎn) 本題考查嵌入式系統(tǒng)設(shè)計(jì)的相關(guān)知識(shí),以及對(duì)嵌入式系統(tǒng)分析、設(shè)計(jì)和開發(fā)的綜合能力。服務(wù)型智能掃地機(jī)器人是一個(gè)典型的嵌入式系統(tǒng)。 解析 根據(jù)題干說明,服務(wù)型智能掃地機(jī)器人需要具有自主運(yùn)動(dòng)規(guī)劃和導(dǎo)航功能,在其工
5、作過程中,需要通過對(duì)環(huán)境信息的融合感知進(jìn)行行為決策。掃地機(jī)器人一般具備的主要功能包括:緊急狀態(tài)感知、姿態(tài)感知、視覺感知、自動(dòng)充電、掃地及吸塵單元、運(yùn)動(dòng)執(zhí)行、監(jiān)控系統(tǒng)、信息處理中心等。 緊急狀態(tài)感知包括碰撞檢測、跌落檢測和離地檢測等功能。所以空(1)為緊急狀態(tài)感知,空(2)為跌落檢測。 狀態(tài)感知包括運(yùn)動(dòng)里程計(jì)數(shù)和航向測量等功能。所以,空(3)為航向測量。 視覺感知包括單目視覺避障系統(tǒng)和單目視覺定位系統(tǒng)等。所以,空(4)為單目視覺避障系統(tǒng)。 根據(jù)題意,掃地及吸塵單元使用電機(jī)控制刷子實(shí)現(xiàn)清掃,使用抽灰電機(jī)實(shí)現(xiàn)吸塵。其他功能都在掃地機(jī)器人的功能結(jié)構(gòu)中。所以,空(5)為掃地及吸塵單元。 2. 【問題2】
6、 為了實(shí)現(xiàn)服務(wù)型智能掃地機(jī)器人的功能,就需要多種傳感器來感知工作環(huán)境信息。王工在對(duì)傳感器進(jìn)行選型時(shí),選擇了如下類型的傳感器: 1USB攝像頭; 2開關(guān)式傳感器; 3槽型光耦模塊; 4數(shù)字式防跌落傳感器; 5紅外測距傳感器; 6GGPM01A單軸角度陀螺儀(傳感器); 7霍爾碼盤傳感器。 請(qǐng)根據(jù)傳感器的功能完成表1。 表1 選用的環(huán)境感知傳感器 序號(hào) 傳感器類別 功能 參數(shù) 1 (1) 用于障礙物規(guī)避 輸出模擬電壓量 2 (2) 平臺(tái)防跌落 輸出數(shù)字量 3 (3) 車身離地檢測 輸出數(shù)字量 4 (4) 碰撞檢測 輸出數(shù)字量 5 (5) 檢測航向角度 檢測角度180 6 (6) 測速和計(jì)里程 脈沖
7、輸出 7 USB攝像頭 采集環(huán)境圖像信息 YUV和MJPG格式 答案:(1)紅外測距傳感器 (2)數(shù)字式防跌落傳感器 (3)開關(guān)式傳感器 (4)槽型光耦模塊 (5)GGPM01A單軸角度陀螺儀 (6)霍爾碼盤傳感器 或給出編號(hào): (1)5 (2)4 (3)2 (4)3 (5)6 (6)7考點(diǎn) 本題考查嵌入式系統(tǒng)設(shè)計(jì)的相關(guān)知識(shí),以及對(duì)嵌入式系統(tǒng)分析、設(shè)計(jì)和開發(fā)的綜合能力。服務(wù)型智能掃地機(jī)器人是一個(gè)典型的嵌入式系統(tǒng)。 解析 各傳感器的功能如下: USB攝像頭:用于采集環(huán)境的圖像信息,該掃地機(jī)器人選用JD-2020攝像頭,輸出格式為YUYV和MJPG,每秒30幀。 開關(guān)式傳感器:用于車身離地檢測,當(dāng)
8、車輪離地時(shí),開關(guān)閉合,輸出高電平,未碰撞斷開時(shí)輸出低電平。 槽型光耦模塊:用于碰撞檢測,當(dāng)觸碰發(fā)生時(shí),與防撞欄聯(lián)動(dòng)的擋板會(huì)遮擋紅外光束,接收端直接收到少量的紅外光束,輸出高電平,反之輸出低電平。 數(shù)字式防跌落傳感器:用于平臺(tái)防跌落,該傳感器紅外發(fā)射頭發(fā)出紅外光線,經(jīng)過地面反射進(jìn)入到接收端,當(dāng)反射光束地面位置距離較遠(yuǎn)(臺(tái)階)或者光路被擋住,接收端接收不到足夠的光束,就輸出高電平,反之輸出低電平。 紅外測距傳感器:為了感知周圍障礙物的信息,保證安全距離,防止移動(dòng)機(jī)器人撞擊損壞,就需要在機(jī)器人兩側(cè)安裝紅外測距傳感器檢測障礙物,左右兩側(cè)紅外測距結(jié)合單目攝像頭實(shí)現(xiàn)避障。 GGPM01A單軸角度陀螺儀(傳
9、感器):用于檢測航向角度,GGPM01A數(shù)字陀螺儀導(dǎo)航模塊,通過內(nèi)置的處理器結(jié)合高性能濾波算法輸出精確的角速度及偏航角度。 霍爾碼盤傳感器:用于測速和計(jì)里程,霍爾碼盤安裝在緊鄰電機(jī)的位置,電機(jī)由PWM信號(hào)驅(qū)動(dòng),流過電機(jī)的電流信號(hào)為脈動(dòng)電流信號(hào),在電機(jī)轉(zhuǎn)動(dòng)時(shí),對(duì)緊鄰的外部電路會(huì)產(chǎn)生干擾噪聲且噪聲頻率與PWM頻率一致。 3. 【問題3】 由于該服務(wù)型智能掃地機(jī)器人的硬件采用雙處理器架構(gòu),即ARM+STM32雙核架構(gòu)模式,選用串口方式在處理器之間傳遞數(shù)據(jù),如圖2所示。假設(shè)在本串行傳輸中的數(shù)據(jù)格式為:8位數(shù)據(jù)位、1位起始位、1位停止位,無校驗(yàn)位。(1)當(dāng)波特率為9600b/s時(shí),每秒鐘傳送的有效數(shù)據(jù)是
10、多少字節(jié)?(2)為保證數(shù)據(jù)收發(fā)正確(每個(gè)字節(jié)數(shù)據(jù)傳輸中的累計(jì)誤差不大于1/4bit),試分析發(fā)送方和接收方時(shí)鐘允許的誤差范圍,并以百分比形式給出最大誤差。 圖2 掃地機(jī)器人的ARM與STM32的通信關(guān)系 答案:(1)960字節(jié)。 (2)數(shù)據(jù)位8位、起始位1位、停止位1位,無校驗(yàn)位,累積的最大誤差為(8+1+1),該值應(yīng)小于1/4位,即(8+1+1)1/4,所以最大誤差為2.5%??键c(diǎn) 本題考查嵌入式系統(tǒng)設(shè)計(jì)的相關(guān)知識(shí),以及對(duì)嵌入式系統(tǒng)分析、設(shè)計(jì)和開發(fā)的綜合能力。服務(wù)型智能掃地機(jī)器人是一個(gè)典型的嵌入式系統(tǒng)。 解析 每秒鐘傳送的有效數(shù)據(jù):9600/(1+8+1)=960字節(jié)。 分析發(fā)送方和接收方時(shí)
11、鐘允許的最大誤差: 在啟動(dòng)位同步后,數(shù)據(jù)位8位、起始位1位、停止位1位,無校驗(yàn)位,累積的最大誤差為(8+1+1),該值應(yīng)小于1/4位,即(8+1+1)1/4,所以最大誤差為2.5%。 試題二閱讀下列說明和圖,回答問題1至問題4。 【說明】 在服務(wù)型智能掃地機(jī)器人的系統(tǒng)設(shè)計(jì)中,李工設(shè)計(jì)的掃地機(jī)器人硬件系統(tǒng)接口如圖1所示,其中STM32單片機(jī)負(fù)責(zé)進(jìn)行各個(gè)傳感器的數(shù)據(jù)采集,包括利用GPIO進(jìn)行各種傳感器數(shù)據(jù)的獲取、利用ADC進(jìn)行紅外測距儀數(shù)據(jù)的獲取、利用IIC進(jìn)行陀螺儀(角度)傳感器數(shù)據(jù)的獲取,通過串口將數(shù)據(jù)發(fā)送給主處理器S5PV210,并利用脈沖計(jì)數(shù)進(jìn)行掃地機(jī)器人運(yùn)動(dòng)速度、距離等信息的獲取。主處理
12、器S5PV210通過USB接口采集實(shí)時(shí)視頻,利用PWM進(jìn)行云臺(tái)控制,同時(shí)利用USB接口通過WIFI和后臺(tái)主機(jī)實(shí)現(xiàn)信息交互。 圖1 掃地機(jī)器人硬件系統(tǒng)接口示意圖 STM32單片機(jī)有BOOT1和BOOT0兩個(gè)啟動(dòng)方式選擇管腳,包括三種不同的啟動(dòng)方式,如表1所示。 表1 STM32單片機(jī)啟動(dòng)方式說明 BOOT啟動(dòng)方式的 管腳控制 BOOT模式 附加說明 BOOT1 BOOT0 X 0 主Flash啟動(dòng) 主Flash啟動(dòng)模式 0 1 系統(tǒng)存儲(chǔ)啟動(dòng) ISP啟動(dòng)方式,可以通過串口或者SPI接口實(shí)現(xiàn)燒寫 1 1 SRAM啟動(dòng) 調(diào)試使用的RAM方式 李工在STM32單片機(jī)的啟動(dòng)電路設(shè)計(jì)時(shí),采用跳線帽形式進(jìn)行啟
13、動(dòng)方式選擇,對(duì)應(yīng)電路如圖2所示。 圖2 STM32啟動(dòng)電路示意圖 李工在利用ADC進(jìn)行紅外測距儀數(shù)據(jù)的采集設(shè)計(jì)中,采用STM32內(nèi)置的12bit逐次比較型ADC,參考電壓Vref為3.3V,ADC的采集數(shù)字輸出為: 為獲取掃地機(jī)器人在移動(dòng)過程中的距離、速度等信息,李工將霍爾傳感器模塊分別安裝在左右車輪驅(qū)動(dòng)電機(jī)的軸上,通過兩個(gè)計(jì)數(shù)器采集左右驅(qū)動(dòng)電機(jī)軸上的霍爾傳感器脈沖數(shù),以此來計(jì)算獲取掃地機(jī)器人的移動(dòng)距離、旋轉(zhuǎn)角度等信息。圖3為掃地機(jī)器人的圓形機(jī)身和左右兩輪的示意圖。 圖3 掃地機(jī)器人的圓形機(jī)身和左右兩輪的示意圖 己知左右車輪轉(zhuǎn)動(dòng)一圈時(shí),霍爾傳感器輸出564個(gè)脈沖(表示為n0),那么計(jì)數(shù)器采集到
14、的脈沖數(shù)和左右輪的移動(dòng)距離關(guān)系可以表示為(R為車輪距中心半徑,r為左右輪的半徑,nx為當(dāng)前計(jì)數(shù)器從開始到現(xiàn)在采集到的脈沖數(shù)): 1. 【問題1】 如果STM32的選擇從主Flash啟動(dòng),那么圖2中的跳線帽應(yīng)該連接管腳1和管腳2還是管腳2和管腳3? 答案:管腳1和管腳2考點(diǎn) 本題考查嵌入式系統(tǒng)硬件設(shè)計(jì)的基礎(chǔ)知識(shí)和相關(guān)的流程。 解析 此類題目要求考生認(rèn)真閱讀題目的題干,以及問題中的流程化說明和表信息,經(jīng)過分析、對(duì)比、計(jì)算、歸納等回答各個(gè)問題。 如果STM32的選擇從主Flash啟動(dòng),從表1 STM32單片機(jī)啟動(dòng)方式說明中可以很容易看出,BOOT0必須是0,BOOT1任意即可,對(duì)比圖2中的連接,要使
15、得BOOT0滿足要求,必須將管腳1和管腳2通過跳線帽連接起來。 2. 【問題2】 當(dāng)紅外測距儀數(shù)據(jù)模擬電壓Vin為2.4V時(shí),ADC的輸出值是多少?(用十進(jìn)制數(shù)表示) 答案:2978考點(diǎn) 本題考查嵌入式系統(tǒng)硬件設(shè)計(jì)的基礎(chǔ)知識(shí)和相關(guān)的流程。 解析 當(dāng)紅外測距儀數(shù)據(jù)模擬電壓Vin為2.4V時(shí),ADC的輸出值是多少?該問題只需要根據(jù)題目中給出的公式: 在參考電壓為3.3V時(shí),帶入計(jì)算即可,需要注意的是按照題目要求要給出十進(jìn)制的結(jié)果。 3. 【問題3】 假設(shè)掃地機(jī)器人的車輪距中心半徑R=30cm,左右輪的半徑r=5cm。當(dāng)左輪PWM脈沖計(jì)數(shù)數(shù)目為2256時(shí),左輪從脈沖計(jì)數(shù)開始到現(xiàn)在,移動(dòng)的距離是多少厘
16、米?(取3.14) 答案:6厘米考點(diǎn) 本題考查嵌入式系統(tǒng)硬件設(shè)計(jì)的基礎(chǔ)知識(shí)和相關(guān)的流程。 解析 假設(shè)掃地機(jī)器人的車輪距中心半徑R=30cm,左右輪的半徑r=5cm。當(dāng)左輪PWM脈沖計(jì)數(shù)數(shù)目為2256時(shí),左輪從脈沖計(jì)數(shù)開始到現(xiàn)在,移動(dòng)的距離是多少厘米?其中已經(jīng)說明取3.14。該題目也只需要使用題目中給出的公式進(jìn)行計(jì)算即可: 其中,半徑r=5cm,結(jié)合題目中給出的霍爾傳感器輸出564個(gè)脈沖(表示為n0),此時(shí)nx為2256,只需要帶入公式即可得到需要的距離數(shù)值。 4. 【問題4】 李工在掃地機(jī)器人設(shè)計(jì)中加入了陀螺儀模塊,通過陀螺儀可以獲取不同時(shí)刻之間的偏轉(zhuǎn)角,進(jìn)而與霍爾傳感器相融合,使得運(yùn)動(dòng)控制器
17、能夠直接快速得到系統(tǒng)當(dāng)前的偏轉(zhuǎn)角。陀螺儀和STM32之間通過IIC接口進(jìn)行數(shù)據(jù)通信,陀螺儀和STM32之間還有一個(gè)信號(hào)線(STM32的GPIO9)和陀螺儀芯片復(fù)位線(STM32的GPIO8,低電平為復(fù)位,高電平為非復(fù)位)。 在STM32通過IIC接口獲取陀螺儀數(shù)據(jù)前,需要先對(duì)陀螺儀復(fù)位并查詢信號(hào)線的有效性(GPIO9高為有效,低為無效),有效時(shí)再通過IIC接口讀取陀螺儀的數(shù)據(jù)。李工設(shè)計(jì)了通過IIC接口獲取陀螺儀數(shù)據(jù)的流程圖(圖4),請(qǐng)選擇合適的項(xiàng)進(jìn)行補(bǔ)全。 圖4 IIC接口獲取陀螺儀數(shù)據(jù)的流程圖 圖4中(1)(4)備選答案: AGPIO9和GPIO8都設(shè)置為輸入 BGPIO9和GPIO8都設(shè)置
18、為輸出 CGPIO9設(shè)置為輸入,GPIO8設(shè)置為輸出 DGPIO9設(shè)置為輸出,GPIO8設(shè)置為輸入 EGPIO9設(shè)置為高,持續(xù)一段時(shí)間,GPIO9設(shè)置為低 FGPIO9設(shè)置為低,持續(xù)一段時(shí)間,GPIO9設(shè)置為高 GGPIO8設(shè)置為低,持續(xù)一段時(shí)間,GPIO8設(shè)置為高 HGPIO8設(shè)置為高,持續(xù)一段時(shí)間,GPIO8設(shè)置為低 IGPIO9為高電平? JGPIO9為低電平? KGPIO8為高電平? LGPIO8為低電平? M通過IIC讀取數(shù)據(jù) N通過IIC寫入數(shù)據(jù) 答案:(1)C (2)G (3)I (4)M考點(diǎn) 本題考查嵌入式系統(tǒng)硬件設(shè)計(jì)的基礎(chǔ)知識(shí)和相關(guān)的流程。 解析 本問題需要仔細(xì)分析題目中給出
19、的兩部分流程說明: 1陀螺儀和STM32之間還有一個(gè)信號(hào)線(STM32的GPIO9)和陀螺儀芯片復(fù)位線(STM32的GPIO8,低電平為復(fù)位,高電平為非復(fù)位)。 2在STM32通過IIC接口獲取陀螺儀數(shù)據(jù)前,需要先對(duì)陀螺儀復(fù)位并查詢信號(hào)線的有效性(GPIO9高為有效,低為無效),有效時(shí)再通過IIC接口讀取陀螺儀的數(shù)據(jù)。 按照題目中給出的流程說明,在對(duì)應(yīng)流程圖中只要選擇對(duì)應(yīng)的GPIO管腳的配置或者檢查即可。 試題三閱讀下列說明,回答問題1至問題3。 【說明】 在服務(wù)型智能掃地機(jī)器人的軟件設(shè)計(jì)中,為了更好地記錄機(jī)器人的個(gè)體信息和工作信息,設(shè)計(jì)了信息數(shù)據(jù)庫。數(shù)據(jù)庫主要完成收集服務(wù)型智能掃地機(jī)器人反饋
20、信息的作用,記錄機(jī)器人的所有工作記錄,方便了使用者對(duì)機(jī)器人的管理及對(duì)機(jī)器人狀態(tài)的掌握,并且在機(jī)器人發(fā)生運(yùn)行故障時(shí),可以根據(jù)數(shù)據(jù)庫存儲(chǔ)的信息分析產(chǎn)生故障的原因。數(shù)據(jù)庫收集服務(wù)型智能掃地機(jī)器人反饋信息的流程如下: 服務(wù)端接收反饋信息: 1第一次解析判斷反饋信息類型是否正確。如果正確繼續(xù)執(zhí)行2,否則執(zhí)行3。 2第二次解析判斷反饋信息內(nèi)容是否正確。如果正確執(zhí)行4,否則執(zhí)行3。 3調(diào)用錯(cuò)誤信息處理函數(shù)后執(zhí)行4。 4將反饋信息存入數(shù)據(jù)庫。 1. 【問題1】 在本軟件測試過程中,測試人員為了設(shè)計(jì)測試用例,根據(jù)題目中的說明,畫出了機(jī)器人反饋信息收集軟件的流程圖,如圖1所示。 圖1 機(jī)器人反饋信息收集軟件流程圖
21、 請(qǐng)?jiān)谙铝羞x項(xiàng)中,為圖1中的(1)(3)選擇正確的描述內(nèi)容。 空(1)備選答案: A反饋格式是否正確 B反饋長度是否正確 C反饋類型是否正確 D反饋內(nèi)容是否正確 空(2)備選答案: A標(biāo)記錯(cuò)誤信息 B錯(cuò)誤信息處理 C錯(cuò)誤信息糾正 D錯(cuò)誤信息報(bào)告 空(3)備選答案: A信息存入內(nèi)存 B信息存入文件 C信息存入數(shù)據(jù)庫 D信息存入軟件 答案:(1)D (2)B (3)C考點(diǎn) 本問題主要考查考生理解軟件需求信息的能力,能依據(jù)軟件需求信息畫出軟件流程。 解析 在嵌入式軟件測試過程中,大部分嵌入式軟件無人機(jī)界面,測試人員不能對(duì)軟件進(jìn)行直觀的理解,必須通過理解軟件需求和算法,運(yùn)用測試用例設(shè)計(jì)方法進(jìn)行基于需求
22、的測試用例設(shè)計(jì),而且需要保證測試用例的充分性。 本題主要考查軟件測試的一些基本概念和方法在測試實(shí)踐中的應(yīng)用。要求考生認(rèn)真閱讀題目所給的軟件需求和設(shè)計(jì)算法信息,結(jié)合嵌入式軟件測試的基本概念和測試用例設(shè)計(jì)要求,在此嵌入式軟件測試中進(jìn)行實(shí)際應(yīng)用。 從題干給定的需求信息服務(wù)端接收反饋信息中,第1條描述內(nèi)容為“1第一次解析判斷反饋信息類型是否正確。如果正確繼續(xù)執(zhí)行2,否則執(zhí)行3?!惫士?1)的內(nèi)容應(yīng)該在第2條描述中;空(2)的內(nèi)容應(yīng)該在第3條描述中。 第2條描述內(nèi)容為“2第二次解析判斷反饋信息內(nèi)容是否正確。如果正確執(zhí)行4,否則執(zhí)行3?!睆牡?條內(nèi)容可知,空(1)的內(nèi)容應(yīng)該為反饋內(nèi)容是否正確;空(3)的內(nèi)
23、容應(yīng)該在第4條描述中;同時(shí)再次確認(rèn)空(2)的內(nèi)容在第3條內(nèi)容描述。 第3條描述內(nèi)容為“3調(diào)用錯(cuò)誤信息處理函數(shù)后執(zhí)行4?!睆牡?條內(nèi)容可知,空(2)的內(nèi)容應(yīng)該為錯(cuò)誤信息處理;同時(shí)再次確認(rèn)空(3)的內(nèi)容在第4條內(nèi)容描述。 第4條描述內(nèi)容為“4將反饋信息存入數(shù)據(jù)庫?!睆牡?條內(nèi)容可知,空(3)的內(nèi)容應(yīng)該為信息存入數(shù)據(jù)庫。 根據(jù)以上分析,完整流程圖如2所示。 圖2 機(jī)器人反饋信息收集軟件流程圖 2. 【問題2】 軟件的結(jié)構(gòu)覆蓋率是度量測試完整性的一種手段,也是度量測試有效性的一種手段。在嵌入式軟件白盒測試過程中,通常以語句覆蓋率和分支覆蓋率作為度量指標(biāo)。 在實(shí)現(xiàn)題目說明的反饋信息接收功能時(shí),設(shè)計(jì)人員采
24、用了下列算法: if(信息有效=TRUE) if(信息、內(nèi)容正確=TRUE) 信息存入數(shù)據(jù)庫; else 錯(cuò)誤信息處理; 信息存入數(shù)據(jù)庫; else 錯(cuò)誤信息處理; 信息存入數(shù)據(jù)庫; 請(qǐng)完成表1中的(1)和(2)空白,指出對(duì)上述算法達(dá)到100%語句覆蓋和100%分支覆蓋所需的最少測試用例數(shù)目。 表1 測試覆蓋用例統(tǒng)計(jì)表 覆蓋率類型 所需的最少用例數(shù) 100%語句覆蓋 (1) 100%分支覆蓋 (2) 答案:(1)3 (2)3考點(diǎn) 本問題主要考查對(duì)語句覆蓋和分支覆蓋概念的掌握以及實(shí)際應(yīng)用。 解析 語句覆蓋要求設(shè)計(jì)適當(dāng)數(shù)量的測試用例,運(yùn)行被測程序,使得程序中每一條語句至少被運(yùn)行一遍,語句覆蓋在測試
25、中主要發(fā)現(xiàn)錯(cuò)誤語句。 分支覆蓋要求設(shè)計(jì)適當(dāng)數(shù)量的測試用例,運(yùn)行被測程序,使得程序中每個(gè)真值分支和假值分支至少執(zhí)行一次,分支覆蓋也稱判定覆蓋。 按照上述語句覆蓋要求,語句覆蓋就要使得問題2中的所有語句執(zhí)行一次,問題2中有三個(gè)語句塊,如下所示。 故為了使問題2中的三個(gè)語句塊各執(zhí)行一次,最少需要3個(gè)測試用例來覆蓋。 按照上述分支覆蓋要求,分支覆蓋要使得程序中每個(gè)真值分支和假值分支至少執(zhí)行一次。對(duì)問題2中的判斷條件進(jìn)行分析,有兩個(gè)判斷條件,需要分別取每個(gè)判斷的真值分支和假值分支,即從理論上需要4個(gè)測試用例來滿足覆蓋要求。但是,由于第一個(gè)判斷的真分支中包含了第二個(gè)判斷條件的真假分支,當(dāng)滿足第一個(gè)判斷的真
26、分支時(shí),同時(shí)可滿足第二個(gè)判斷條件的真或假分支,可減少一個(gè)測試用例,故問題2最少需要3個(gè)測試用例來滿足分支覆蓋要求。 3. 【問題3】 為了測試軟件功能,測試人員設(shè)計(jì)了表2所示的測試用例,請(qǐng)?zhí)顚懺摫碇械目瞻?1)(5)。 表2 測試用例 序號(hào) 輸入 輸出(預(yù)期結(jié)果) 1 反饋類型不正確 (1) ,錯(cuò)誤信息存入數(shù)據(jù)庫 2 反饋類型和內(nèi)容均不正確 報(bào)告信息類型和內(nèi)容均不正確,錯(cuò)誤信息存入數(shù)據(jù)庫 3 反饋類型正確,反饋內(nèi)容不正確 (2) ,錯(cuò)誤信息存入數(shù)據(jù)庫 4 反饋類型正確,反饋內(nèi)容正確 信息存入數(shù)據(jù)庫 5 內(nèi)容 (3) 的典型類型1信息 典型類型1信息存入數(shù)據(jù)庫 6 內(nèi)容 (4) 的典型類型2信息
27、 報(bào)告典型類型2信息內(nèi)容錯(cuò)誤,錯(cuò)誤信息存入數(shù)據(jù)庫 7 內(nèi)容正確的典型類型3信息 (5) 信息存入數(shù)據(jù)庫 答案:(1)報(bào)告信息類型不正確/錯(cuò)誤 (2)報(bào)告信息內(nèi)容不正確/錯(cuò)誤 (3)正確 (4)不正確/錯(cuò)誤 (5)典型類型3考點(diǎn) 此題考查測試用例的設(shè)計(jì)能力,主要包括輸入數(shù)據(jù)的設(shè)計(jì),及輸入數(shù)據(jù)所對(duì)應(yīng)的預(yù)期輸出的確定,特別需要考慮測試用例的充分性。 解析 為了測試數(shù)據(jù)庫收集服務(wù)型智能掃地機(jī)器人反饋信息軟件的功能,就要依據(jù)題目說明中對(duì)數(shù)據(jù)庫收集服務(wù)型智能掃地機(jī)器人反饋信息軟件的具體功能描述,進(jìn)行測試用例的設(shè)計(jì)。 序號(hào)1,輸入為反饋類型不正確,依據(jù)服務(wù)端接收反饋信息第1條設(shè)計(jì)說明,軟件應(yīng)進(jìn)行錯(cuò)誤處理,并
28、將錯(cuò)誤信息存入數(shù)據(jù)庫。從設(shè)計(jì)說明中不能直接看出對(duì)反饋類型不正確的具體錯(cuò)誤處理。但在進(jìn)行此類問題時(shí),應(yīng)該參考其他給定全部內(nèi)容的測試用例。比如序號(hào)2中,當(dāng)輸入為反饋類型和內(nèi)容均不正確,其對(duì)應(yīng)輸出為報(bào)告信息類型和內(nèi)容均不正確,錯(cuò)誤信息存入數(shù)據(jù)庫。從第1條設(shè)計(jì)說明分析,軟件也是進(jìn)行錯(cuò)誤處理,并將錯(cuò)誤信息存入數(shù)據(jù)庫。這樣,從序號(hào)2的具體錯(cuò)誤處理中就可推斷出序號(hào)1的輸入為反饋類型不正確時(shí),具體錯(cuò)誤處理為報(bào)告信息類型不正確或錯(cuò)誤。 序號(hào)3,輸入為反饋類型正確,反饋內(nèi)容不正確,依據(jù)服務(wù)端接收反饋信息第1條和第2條設(shè)計(jì)說明,軟件應(yīng)進(jìn)行錯(cuò)誤處理,并將錯(cuò)誤信息存入數(shù)據(jù)庫。從設(shè)計(jì)說明中不能直接看出對(duì)反饋內(nèi)容不正確的具
29、體錯(cuò)誤處理。但是類比序號(hào)2的具體錯(cuò)誤處理,可推斷出序號(hào)3的輸入為反饋類型正確,反饋內(nèi)容不正確時(shí),具體錯(cuò)誤處理為報(bào)告信息內(nèi)容不正確或錯(cuò)誤。 序號(hào)5,預(yù)期輸出為典型類型1信息存入數(shù)據(jù)庫,由于是典型類型1信息,可推斷出此信息類型一定正確;并且預(yù)期輸出中沒有進(jìn)行錯(cuò)誤處理,可推斷出此典型類型1信息內(nèi)容正確,依據(jù)服務(wù)端接收反饋信息第1條和第2條設(shè)計(jì)說明,序號(hào)5用例的輸入應(yīng)該為內(nèi)容正確的典型類型1信息。 序號(hào)6,預(yù)期輸出為報(bào)告典型類型2信息內(nèi)容錯(cuò)誤,錯(cuò)誤信息存入數(shù)據(jù)庫,由于是典型類型2信息,可推斷出此信息類型一定正確;由于預(yù)期輸出中報(bào)告了典型類型2信息內(nèi)容錯(cuò)誤,故可推斷出此典型類型2信息內(nèi)容不正確或錯(cuò)誤,依
30、據(jù)服務(wù)端接收反饋信息第1條和第2條設(shè)計(jì)說明,序號(hào)6用例的輸入應(yīng)為內(nèi)容不正確或錯(cuò)誤的典型類型2信息。 序號(hào)7,輸入為內(nèi)容正確的典型類型3信息,由于是典型類型3信息,可推斷出此信息類型一定正確;而且輸入為內(nèi)容正確的典型類型3信息,依據(jù)服務(wù)端接收反饋信息第l條和第2條設(shè)計(jì)說明,序號(hào)7用例輸出為將典型類型3信息存入數(shù)據(jù)庫。 試題四閱讀下列說明和圖,回答問題1至問題3。 【說明】 服務(wù)型智能掃地機(jī)器人涉及了眾多傳感器,通過對(duì)環(huán)境信息的融合感知進(jìn)行行為決策。同時(shí)也設(shè)計(jì)了豐富的多媒體人機(jī)交互系統(tǒng),實(shí)現(xiàn)輸入輸出功能。 1. 【問題1】 服務(wù)型智能掃地機(jī)器人的輸入輸出終端采用觸摸屏技術(shù),李工設(shè)計(jì)了一款具有觸摸功
31、能的顯示單元,該顯示單元的主板采用X86架構(gòu)的處理器,觸摸控制板的核心是控制芯片,當(dāng)觸摸筆點(diǎn)擊觸摸面板時(shí),將通過輸入端點(diǎn)上傳數(shù)據(jù)報(bào)文,格式如圖1所示。數(shù)據(jù)報(bào)文按照小端字節(jié)順序發(fā)送,第一個(gè)Byte表示觸摸筆的狀態(tài),0x70表示Down,0x30表示Up,后四個(gè)Byte包含觸摸筆點(diǎn)擊位置的坐標(biāo)值,Byte1和Byte2表示X軸坐標(biāo),Byte3和Byte4表示Y軸坐標(biāo)。觸摸板左上角坐標(biāo)值為(0,0),右下角坐標(biāo)值為(1022,766)。 圖1 輸入端點(diǎn)報(bào)文格式 當(dāng)觸摸筆在觸摸板中心位置按下時(shí),觸摸屏發(fā)送的數(shù)據(jù)報(bào)文內(nèi)容是 (1) 、 (2) 、 (3) 、 (4) 、 (5) 。 答案:(1)0x70
32、 (2)0xFF (3)0x1或者1 (4)0x7F (5)0x1或者1考點(diǎn) 本題考查嵌入式計(jì)算機(jī)相關(guān)的基礎(chǔ)知識(shí)及應(yīng)用。 解析 觸摸屏通過串行通信協(xié)議向主機(jī)傳送數(shù)據(jù)報(bào)文。常用的串行協(xié)議包括RS-232、RS-422和RS-485等。盡管串行通信速度較慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時(shí)用另一根線接收數(shù)據(jù)。 串口通信協(xié)議是指規(guī)定了數(shù)據(jù)包的內(nèi)容,內(nèi)容包含了起始位、主體數(shù)據(jù)、校驗(yàn)位及停止位,雙方需要約定一致的數(shù)據(jù)包格式才能正常收發(fā)數(shù)據(jù)的有關(guān)規(guī)范。文中定義了串行數(shù)據(jù)報(bào)文格式,分別是觸摸筆的狀態(tài)、X軸坐標(biāo)低字節(jié)、X軸坐標(biāo)高字節(jié)、Y軸坐標(biāo)低字節(jié)、Y軸坐標(biāo)高字節(jié)。當(dāng)觸摸筆在觸摸板中心位置按下時(shí),觸摸筆
33、的狀態(tài)是0x70,X軸坐標(biāo)是511(即0x1FF),Y軸坐標(biāo)是383(即0x17F)。由于數(shù)據(jù)報(bào)文按照小端字節(jié)順序發(fā)送,所以X軸坐標(biāo)低字節(jié)是0xFF、X軸坐標(biāo)高字節(jié)是0x1、Y軸坐標(biāo)低字節(jié)是0x7F、Y軸坐標(biāo)高字節(jié)是0x1。 2. 【問題2】 該機(jī)器人系統(tǒng)內(nèi)部集成眾多傳感器,通過現(xiàn)場總線互聯(lián)起來,構(gòu)成了底層的網(wǎng)絡(luò),選用的CAN控制器內(nèi)含二個(gè)接收緩沖器、三個(gè)發(fā)送緩沖器,具有靈活的中斷管理能力。 李工設(shè)計(jì)了一種采用中斷方式的數(shù)據(jù)接收程序,每當(dāng)接收寄存器接收到數(shù)據(jù)時(shí),中斷寄存器的接收中斷使能,并產(chǎn)生中斷信號(hào)通知CPU,中斷處理程序在讀取數(shù)據(jù)后,清空中斷標(biāo)識(shí)位,等待下一次中斷。由于兩個(gè)接收器共享一個(gè)中
34、斷號(hào),在調(diào)試過程中發(fā)現(xiàn),當(dāng)短時(shí)間(毫秒級(jí))接收大量數(shù)據(jù)時(shí),丟包現(xiàn)象比較嚴(yán)重。李工對(duì)上述流程進(jìn)行了改進(jìn),當(dāng)產(chǎn)生一次中斷時(shí),依次查詢兩路接收器的狀態(tài),這樣大大提高了數(shù)據(jù)接收處理能力,減少了系統(tǒng)開銷,其處理流程如圖2所示。 圖2 雙通道數(shù)據(jù)接收流程圖 請(qǐng)將上述改進(jìn)后的雙通道數(shù)據(jù)接收流程圖補(bǔ)充完整。 答案:(1)設(shè)備中斷使能 (2)接收器0有數(shù)據(jù) (3)接收器1有數(shù)據(jù) (4)接收器0有數(shù)據(jù) (5)清除中斷標(biāo)識(shí)考點(diǎn) 本題考查嵌入式計(jì)算機(jī)相關(guān)的基礎(chǔ)知識(shí)及應(yīng)用。 解析 一般CPU和外部設(shè)備之間的數(shù)據(jù)傳輸有查詢和中斷兩種方式。從查詢式的傳輸過程可以看出,它的優(yōu)點(diǎn)是硬件開銷小,使用起來比較簡單。但在此方式下,C
35、PU要不斷地查詢外設(shè)的狀態(tài),當(dāng)外設(shè)未準(zhǔn)備好時(shí),CPU就只能循環(huán)等待,不能執(zhí)行其他程序,這樣就浪費(fèi)了CPU的大量時(shí)間,降低了主機(jī)的利用率。為了解決這個(gè)矛盾,提出了中斷傳送方式,即當(dāng)CPU進(jìn)行主程序操作時(shí),外設(shè)的數(shù)據(jù)已存入輸入端口的數(shù)據(jù)寄存器,或端口的數(shù)據(jù)輸出寄存器已空,由外設(shè)通過接口電路向CPU發(fā)出中斷請(qǐng)求信號(hào),CPU在滿足一定的條件下,暫停執(zhí)行當(dāng)前正在執(zhí)行的主程序,轉(zhuǎn)入執(zhí)行相應(yīng)能夠進(jìn)行輸入/輸出操作的子程序,待輸入/輸出操作執(zhí)行完畢之后CPU即返回繼續(xù)執(zhí)行原來被中斷的主程序。這樣CPU就避免了把大量時(shí)間耗費(fèi)在等待、查詢狀態(tài)信號(hào)的操作上,使其工作效率得以大大地提高。能夠向CPU發(fā)出中斷請(qǐng)求的設(shè)備
36、或事件稱為中斷源。而對(duì)其的處理方式即中斷處理。 當(dāng)CPU(中央處理器)執(zhí)行一條現(xiàn)行指令的時(shí)候,如果外設(shè)向CPU發(fā)出中斷請(qǐng)求,那么CPU在滿足響應(yīng)的情況下,將發(fā)出中斷響應(yīng)信號(hào),與此同時(shí)關(guān)閉中斷,表示CPU不再受理另外一個(gè)設(shè)備的中斷。這時(shí),CPU將尋找中斷請(qǐng)求源是哪一個(gè)設(shè)備,并保存CPU自己的程序計(jì)數(shù)器(PC)的內(nèi)容。然后,它將轉(zhuǎn)移到處理該中斷源的中斷服務(wù)程序。CPU在保存現(xiàn)場信息、設(shè)備服務(wù)(如交換數(shù)據(jù))以后,將恢復(fù)現(xiàn)場信息。在這些動(dòng)作完成以后,開放中斷,并返回原來被中斷的主程序的下一條指令。 當(dāng)中斷控制器的輸入不夠多時(shí),使用共享中斷是很有必要的。典型的外部通用異步收發(fā)器(UART),它只有一個(gè)中
37、斷輸出,為不同的內(nèi)部中斷資源所共享,比如:接受中斷和發(fā)送中斷。這些中斷在中斷控制器內(nèi)部用“或方式”有效地連接到一塊了。 使用共享中斷時(shí),必須要考慮的是:當(dāng)兩個(gè)或更多的中斷信號(hào)同時(shí)產(chǎn)生或相繼產(chǎn)生時(shí),會(huì)出現(xiàn)什么樣的狀況?如果不能很好處理的話,就有可能丟失中斷信號(hào)以及鎖定中斷線。共享邊緣觸發(fā)中斷比較復(fù)雜。如果兩個(gè)中斷信號(hào)同時(shí)產(chǎn)生或相繼產(chǎn)生,中斷控制器就會(huì)只收到一個(gè)中斷信號(hào)。要避免丟失中斷信號(hào),中斷服務(wù)程序必須在離開當(dāng)前命令行外殼之前檢查所有中斷資源。 共享中斷的最簡單方式,就是使用電平觸發(fā)中斷類型。這種方式很安全,例如,如果兩個(gè)中斷請(qǐng)求同時(shí)要求中斷服務(wù),只能處理其中一個(gè),這時(shí)中斷線不會(huì)鎖住,仍然能有
38、效工作。而另一個(gè)中斷請(qǐng)求會(huì)照常產(chǎn)生,等待處理。 3. 【問題3】 該機(jī)器人系統(tǒng)按照?qǐng)D2的方式接收傳感器采集數(shù)據(jù),并由上層應(yīng)用程序?qū)?shù)據(jù)進(jìn)行處理。當(dāng)應(yīng)用訪問操作速度和底層硬件輸入的速度存在較大差異時(shí),采用環(huán)形緩沖機(jī)制,可以起到良好的緩沖作用,減少丟包率。李工設(shè)計(jì)的環(huán)形緩沖是基于先進(jìn)先出(FIFO)的原則,并設(shè)計(jì)了環(huán)形緩沖的數(shù)據(jù)結(jié)構(gòu),讀寫指針各自獨(dú)立,讀任務(wù)和寫任務(wù)可以同時(shí)訪問環(huán)形緩沖,無需互斥信號(hào)量的介入。但是,在運(yùn)行多任務(wù)時(shí),如果存在多個(gè)讀任務(wù)和多個(gè)寫任務(wù)同時(shí)操作環(huán)形緩沖,則需要應(yīng)用互斥操作機(jī)制。 1請(qǐng)簡述互斥操作的作用。 2為了在多任務(wù)環(huán)境中能正確使用環(huán)形緩沖,不發(fā)生讀寫沖突,增加了讀寫鎖進(jìn)
39、行保護(hù)。應(yīng)用任務(wù)讀取環(huán)形緩沖的偽代碼如下,請(qǐng)完善其中空(1)(3)處的內(nèi)容。 BOOL bReadLock=FALSE; BOOL bWriteLock=FALSE; intReadRingBuf() if(環(huán)形隊(duì)列為空)| (1) ) return 0 (2) ; 將環(huán)形隊(duì)列中的數(shù)據(jù)拷貝到應(yīng)用緩沖區(qū); 調(diào)整讀指針; (3) ; 返回直接讀取數(shù)據(jù)長度; 答案:1互斥操作用來保證共享數(shù)據(jù)操作的完整性。通過互斥鎖保證任一時(shí)刻只能有一個(gè)應(yīng)用訪問共享對(duì)象。 2(1)bReadLock為真或bReadLock=TRUE (2)bReadLock=TRUE或等效形式 (3)bReadLock=FALSE或
40、等效形式考點(diǎn) 本題考查嵌入式計(jì)算機(jī)相關(guān)的基礎(chǔ)知識(shí)及應(yīng)用。 解析 (1)在編程中引入了對(duì)象互斥的概念,來保證共享數(shù)據(jù)操作的完整性。每個(gè)對(duì)象都對(duì)應(yīng)于一個(gè)可稱為“互斥鎖”的標(biāo)記,這個(gè)標(biāo)記用來保證在任一時(shí)刻,只能有一個(gè)線程訪問該對(duì)象。 (2)在多任務(wù)操作系統(tǒng)中,同時(shí)運(yùn)行的多個(gè)任務(wù)可能都需要使用同一種資源?;コ怄i(mutex)是一種簡單的加鎖的方法來控制對(duì)共享資源的訪問,互斥鎖只有兩種狀態(tài),即上鎖(lock)和解鎖(unlock)。 互斥鎖的特點(diǎn)有:原子性,把一個(gè)互斥量鎖定為一個(gè)原子操作,這意味著操作系統(tǒng)保證了如果一個(gè)線程鎖定了一個(gè)互斥量,沒有其他線程在同一時(shí)間可以成功鎖定這個(gè)互斥量;唯一性,如果一個(gè)線
41、程鎖定了一個(gè)互斥量,在它解除鎖定之前,沒有其他線程可以鎖定這個(gè)互斥量;非繁忙等待,如果一個(gè)線程已經(jīng)鎖定了一個(gè)互斥量,第二個(gè)線程又試圖去鎖定這個(gè)互斥量,則第二個(gè)線程將被掛起(不占用任何CPU資源),直到第一個(gè)線程解除對(duì)這個(gè)互斥量的鎖定為止,第二個(gè)線程則被喚醒并繼續(xù)執(zhí)行,同時(shí)鎖定這個(gè)互斥量。 互斥鎖的操作流程如下: 1在訪問共享資源后臨界區(qū)域前,對(duì)互斥鎖進(jìn)行加鎖; 2在訪問完成后釋放互斥鎖導(dǎo)上的鎖; 3對(duì)互斥鎖進(jìn)行加鎖后,任何其他試圖再次對(duì)互斥鎖加鎖的線程將會(huì)被阻塞,直到鎖被釋放。 試題五閱讀以下關(guān)于C語言的基本概念和編程方面的敘述,回答問題1至問題3。 【說明】 服務(wù)型智能掃地機(jī)器人的信息處理中
42、心,用于接收各種傳感器信息和視覺信息,通過分析處理進(jìn)行掃地機(jī)器人的運(yùn)動(dòng)控制,且負(fù)責(zé)和后臺(tái)監(jiān)控中心通信。信息處理中心基于嵌入式計(jì)算機(jī)實(shí)現(xiàn)。 1. 【問題1】 在信息處理中心的計(jì)算機(jī)系統(tǒng)中,系統(tǒng)總是要用戶對(duì)變量或寄存器進(jìn)行位操作,下面程序1代碼中對(duì)給定整型變量a,實(shí)現(xiàn)了兩個(gè)函數(shù),其中:set_bit3函數(shù)用于設(shè)置a的bit 3(第3位),clear_bit3函數(shù)用于清除a的bit 3(第3位)。請(qǐng)補(bǔ)全程序1代碼的(1)和(2)。 【程序1】 #define BIT3(0x13) static int a; void set_bit3(void) (1) ; void clear_bit3(void
43、) (2) ; 答案:(1)a=a|BIT3或者a|=BIT3 (2)a=a printf(Area=%f, area); return area; 答案:回答以下4項(xiàng)中任意3項(xiàng)(意思相近即可)。 (1)中斷程序的返回值。中斷程序中一般不能返回一個(gè)值。 (2)中斷程序參數(shù)。中斷程序中一般不能傳遞參數(shù)。 (3)浮點(diǎn)運(yùn)算。中斷程序應(yīng)該是短而有效率的,一般在中斷程序上下文切換時(shí)不保存浮點(diǎn)寄存器,盡量不要在中斷程序中做浮點(diǎn)運(yùn)算。 (4)printf()一般是阻塞性調(diào)用,盡量不要在中斷程序中調(diào)用阻塞性服務(wù)??键c(diǎn) 本題考查嵌入式程序設(shè)計(jì)能力。 解析 中斷是指計(jì)算機(jī)運(yùn)行過程中,出現(xiàn)某些意外情況需主機(jī)干預(yù)時(shí),CPU能自動(dòng)停止正在運(yùn)行的程序并轉(zhuǎn)入處理新情況的程序,處理完畢后又返回原被暫停的程序繼續(xù)運(yùn)行。 按照事件發(fā)生的順序,中斷過程包括以下步驟: (1)中斷源發(fā)出中斷請(qǐng)求; (2)判斷當(dāng)前處理機(jī)是否允許中斷和該中斷源是否被屏蔽; (3)優(yōu)先權(quán)排隊(duì); (4)處理機(jī)執(zhí)行完當(dāng)前指令或當(dāng)前指令無法執(zhí)行完,則立即停止當(dāng)前程序,保護(hù)斷點(diǎn)地址和處理機(jī)當(dāng)前狀態(tài),轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序; (5)執(zhí)行中斷服務(wù)程序; (6)恢復(fù)被保護(hù)的狀態(tài),執(zhí)行“中斷返回”指令回到被中斷的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年新教材高中生物 第二章 基因和染色體的關(guān)系 微專題四 伴性遺傳的解題方法說課稿 新人教版必修第二冊
- 別墅電梯出售合同范例
- 2023九年級(jí)數(shù)學(xué)下冊 第二十九章 投影與視圖29.1 投影第2課時(shí) 正投影說課稿 (新版)新人教版001
- 2024年四年級(jí)英語上冊 Unit 3 Let's Go Lesson 15 In the City說課稿 冀教版(三起)
- 2024年四年級(jí)英語上冊 Unit 1 My classroom The fifth period(第五課時(shí))說課稿 人教PEP
- 6 我們神圣的國土 說課稿-2023-2024學(xué)年道德與法治五年級(jí)上冊統(tǒng)編版
- 個(gè)人發(fā)包合同范本
- 化妝品融資合同范例
- 供電部門保潔合同范例
- Unit1《Greetings》(說課稿)-2024-2025學(xué)年滬教版(五四制)(2024)英語一年級(jí)上冊
- 工程類工程公司介紹完整x
- 古籍文獻(xiàn)整理與研究
- 板帶生產(chǎn)工藝熱連軋帶鋼生產(chǎn)
- 關(guān)鍵工序特殊過程培訓(xùn)課件精
- 輪機(jī)備件的管理(船舶管理課件)
- 《機(jī)修工基礎(chǔ)培訓(xùn)》課件
- 統(tǒng)編《道德與法治》三年級(jí)下冊教材分析
- 國際尿失禁咨詢委員會(huì)尿失禁問卷表
- 國開行政管理論文行政組織的變革及其現(xiàn)實(shí)性研究
- 運(yùn)動(dòng)技能學(xué)習(xí)中的追加反饋
- 《淄博張店區(qū)停車問題治理現(xiàn)狀及優(yōu)化對(duì)策分析【開題報(bào)告+正文】15000字 》
評(píng)論
0/150
提交評(píng)論