第7章 led將為我閃爍:控制發光二極體
實現原理:linux
驅動與本機的
i/o記憶體進行互動,連線到主機的硬體在主機記憶體的對映
1編寫led
驅動1.1建立
led驅動的裝置檔案
使用cdev_init
函式初始化
cdev
cdev 結構體
struct cdev {
struct konject kobj;
struct module *owner;
const struct file_operation *ops;
strust list_head list;
dev_t dev;
unsigned int count;
指定裝置號
使用cdev_add
函式將字元裝置新增到核心中的字元裝置陣列中
使用class_create
巨集建立struct class
使用device_create
函式建立裝置檔案
解除安裝led
驅動2設定暫存器與初始化
led驅動
設定不同暫存器的值,可以設定led
引腳的狀態
led有兩個引腳
gpb1
和gpb0
控制led
需要通過
3個暫存器來完成
gpmcon
、gpmdat
、gpmcon
每個暫存器可以使用4
個位元組(
int)
控制led
狀態通過字串控制led
通過i/o
命令控制
ledled驅動的移植
測試led
驅動程式
編寫測試程式為每乙個測試程式
abd shell 『/data/local/ioctl/ /dev/s3c6420_lkeds 1 2』
本節完成了led
驅動的開發,乙個硬體驅動主要有內部處理和硬體互動兩部分組成。其中,內部處理是指
linux
驅動的裝載、解除安裝,與裝置檔案相關的動作處理(讀寫裝置檔案、向裝置傳送
i/o命令等動作)以及業務邏輯等。與硬體互動是指通過
iowriter32
,ioread32
等函式等函式與硬體中的暫存器進行資料互動。
第七章 LED將為我閃爍 控制發光二級管
led驅動開發實驗 如圖所示,led1 led2 分別與gpc0 3 gpc0 4 相連,通過gpc0 3 gpc0 4 引腳的高低電平 來控制三極體的導通性,從而控制led 的亮滅。根據三極體的特性,當這幾個引腳輸出高電平時,集電極和發射極導通,發光二極體點亮 反之,發光二極體熄滅。通過控制gpc...
第13章 複製控制 7
13.5.2 定義值型類 具有值語義的類所定義的物件,其行為很像算術型別的物件,反之亦然。string類是值型類的乙個例子。複製建構函式不再複製指標,它將分配乙個新的int物件,並初始化該物件以儲存與被複製物件相同的值。每個物件都儲存屬於自己的int值的不同副本。因為每個物件儲存自己的副本,所以析構...
Unity 第7章 輸入控制
分類 unity c vs2015 建立日期 2016 04 21 一 簡介 unity提供了 個非常易用和強大的用於處理輸入資訊的類 input,利用該類可以處理滑鼠 鍵盤 搖桿 方向盤 手柄等遊戲外設,也可以處理ios androd等移動裝置的觸控輸入資訊。程式設計師通過編寫指令碼接收輸入資訊,...