第7章 LED將為我閃爍 控制發光二極體

2022-09-13 04:30:10 字數 1194 閱讀 5034

第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等移動裝置的觸控輸入資訊。程式設計師通過編寫指令碼接收輸入資訊,...