第一種方式:當主機板外接i2c裝置時,可直接使用cpu的i2c介面卡,在應用層即可直接控制裝置。
#include
//printf()
#include
//exit()
#include
//strlen(), bzero();
#include
#include
#include
#include
#include
#include
#include
#include
inti2c_write
(int fd,
char dev_addr,
char write_addr,
char data)
; buf[0]
= write_addr;
buf[1]
= data;
msg.addr = dev_addr;
msg.flags =0;
msg.len =2;
msg.buf = buf;
i2c_data.nmsgs =1;
i2c_data.msgs =
&msg;
int ret =
ioctl
(fd, i2c_rdwr,
&i2c_data);if
(ret <0)
return ret;
}int
i2c_read
(int fd,
char dev_addr,
char read_addr,
char
*buf,
int size)
return ret;
}int
main
(int argc,
char
*ar**)
;i2c_read
(fd,
0x1a
,0x0
, buf,1)
;close
(fd)
;return0;
}
第二種方式:linux核心原始碼ts2007觸控驅動,使用i2c控制。
1、在板子適配檔案mach-itop4412.c中新增
struct i2c_board_info i2c_devs7[
] __initdata =
} //註冊到核心
i2c_register_board_info(7
, i2c_devs7,
array_size
(i2c_devs7));
2、驅動**
static
struct i2c_driver tsc2007_driver =
,//.id_table = tsc2007_idtable,
.probe = tsc2007_probe,
.remove =
__devexit_p
(tsc2007_remove),}
;static
int __init tsc2007_init
(void
)static
void __exit tsc2007_exit
(void
)module_init
(tsc2007_init)
;module_exit
(tsc2007_exit)
;module_description
("tsc2007 touchscreen driver");
module_license
("gpl"
);
iTop4412 裸機開發 LED
平台 itop4412 scp 2g 開發板有兩個可控制的led燈 分別接到引腳 kp col0和vdd50 en kp col0就是gpl2 0 vdd50 en就是gpk1 1 配置gpx con對應位為輸出功能,設定gpx dat相應管腳輸出為1,就可以點亮led燈了。實現 如下 原始碼1 s...
iTOP 4412 驅動模組傳引數
1 核心模組可以通過module param來傳單個引數 module param name,type,perm name 模組引數的名稱 type 模組引數的資料型別 支援int long short uint ulong ushort類 型 perm 模組引數的訪問許可權 s irusr引數表示...
iTop4412之DS18B20驅動開發
執行序列 通過單線匯流排埠訪問 ds18b20 的協議如下 步驟1.初始化 步驟2.rom 操作指令 步驟3.ds18b20 功能指令 步驟1.初始化 主機首先發出乙個480 960微秒的低電平脈衝,然後釋放匯流排變為高電平,並在隨後的480微秒時間內對匯流排進行檢測,如果有低電平出現說明匯流排上有...