Thumb異常中斷產(chǎn)生指令與ARM指令集下的異常中斷指令十分相似。同ARM指令集相同,Thumb指令集中同樣包含兩條異常中斷產(chǎn)生指令:軟件中斷指令SWI用于產(chǎn)生SWI異常中斷;斷點中斷指令BKPT主要用于產(chǎn)生軟件斷點,供調(diào)試程序使用(只在ARMv5及以上版本中使用)。
在Linux下安裝一個完整的軟件(嵌入式Linux的必備工具——交叉編譯工具),掌握Linux常見命令,學會設置環(huán)境變量,同時搭建起嵌入式Linux的交叉編譯環(huán)境(關(guān)于交叉編譯的具體概念在本書后面會詳細講解),為今后的實驗打下良好的基礎。
LED和蜂鳴器是最簡單的GPIO的應用,都不需要任何外部輸入或控制。按鍵同樣使用GPIO接口,但按鍵本身需要外部的輸入,即在驅(qū)動程序中要處理外部中斷。按鍵硬件驅(qū)動原理圖如圖11-7所示。
Thumb中有兩個分支跳轉(zhuǎn)指令的變體,第一個變體與ARM版本指令相似,可條件執(zhí)行,跳轉(zhuǎn)被限制在有符號8位立即數(shù)所表示的范圍內(nèi),或者是±256B。第二個變體不可條件執(zhí)行(沒有條件碼部分),但擴展了有效跳轉(zhuǎn)范圍,跳轉(zhuǎn)范圍為有符號11位立即數(shù)表示的范圍,即±2048B。
燒錄器的功能,主要對非易失性的存儲器進行操作(MCU內(nèi)部Flash也都是各類非易失性的存儲器)。這些存儲器通常都需要擦除、編程和校驗。這些基本操作和一些控制設置操作,是燒錄的主要內(nèi)容。
帶狀態(tài)切換的跳轉(zhuǎn)指令BX使程序跳轉(zhuǎn)到指令中指定的參數(shù)Rm指定的地址執(zhí)行程序,Rm的第0位拷貝到CPSR中T位,位[31∶1]移入PC。若Rm的bit[0]為1,則跳轉(zhuǎn)時自動將CPSR中的標志位T置位,即把目標地址的代碼解釋為Thumb代碼;若Rm的位bit[0]為0,則跳轉(zhuǎn)時自動將CPSR中的標志位T復位,即把目標地址代碼解釋為ARM代碼
本項目通過溫度傳感器DS18B20,濕度傳感器DHT11和水壓傳感器D3B來采集大棚內(nèi)溫度、濕度和水位等信息情況,并用無線透傳模塊LSDRF4717M04發(fā)送到溫室大棚主控制臺,主控制臺通過液晶N5110顯示大棚內(nèi)溫度,濕度和水位情況,農(nóng)戶可以通過按鍵,自己設定植物生長的最適溫度,濕度及水位范圍,一旦發(fā)現(xiàn)溫度、濕度及水位超出設定的范圍,則