日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux下I2C驅(qū)動(dòng)程序的制作與部署(i2clinux驅(qū)動(dòng))

linux下I2C驅(qū)動(dòng)程序的制作與部署

在黎平等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作專業(yè)公司,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),黎平網(wǎng)站建設(shè)費(fèi)用合理。

I2C (inter-Integrated Circuit),中文稱為“雙向現(xiàn)場總線”,是一種高性能、多主機(jī)、低成本的2總線設(shè)備通信技術(shù),在很多領(lǐng)域,特別是電子信息產(chǎn)品中被廣泛應(yīng)用。作為開源的操作系統(tǒng),Linux具有出色的性能、免費(fèi)使用,但它的I2C驅(qū)動(dòng)程序的制作和部署,讓一些開發(fā)者頭痛不已。本文將分為兩部分,首先會(huì)講解如何在Linux下進(jìn)行i2C驅(qū)動(dòng)程序制作;之后會(huì)介紹如何在Linux下進(jìn)行i2C驅(qū)動(dòng)程序的部署。

I2C驅(qū)動(dòng)程序制作

制作I2C驅(qū)動(dòng)程序首先需要準(zhǔn)備I2C寄存器,傳感器,芯片等相關(guān)硬件。然后,在Linux下開發(fā)I2C驅(qū)動(dòng)時(shí),需要初始化I2C設(shè)備,實(shí)現(xiàn)讀取I2C數(shù)據(jù)以及寫入I2C數(shù)據(jù)等功能,代碼如下:

//定義讀端口

int port_read(unsigned char *buffer, int length)

{

int result = 0;

struct i2c_MSG msg[2];

//設(shè)置讀端口地址

unsigned char reg_addr = 0x07;

msg[0].addr = device_addr;

msg[0].flags = 0;

msg[0].len = 1;

msg[0].buf = ®_addr;

msg[1].addr = device_addr;

msg[1].flags = I2C_M_RD;

//設(shè)置要讀取的字節(jié)數(shù)

msg[1].len = length;

msg[1].buf = buffer;

result = i2c_transfer(client->adapter, msg, 2);

return result;

}

//定義寫端口

int port_write(unsigned char *buffer, int length)

{

int result = 0;

unsigned char reg_addr;

struct i2c_msg msg[1];

msg[0].addr = device_addr;

msg[0].flags = 0;

//設(shè)置要發(fā)送字節(jié)數(shù)

msg[0].len = length;

msg[0].buf = buffer;

result = i2c_transfer(client->adapter, msg, 1);

return result;

}

I2C驅(qū)動(dòng)程序部署

在Linux下完成i2C驅(qū)動(dòng)程序后,就可以進(jìn)行部署了。在確定I2C設(shè)備等信息的情況下,首先需要新建i2C設(shè)備節(jié)點(diǎn),以此將設(shè)備加載入內(nèi)核,以更新設(shè)備信息,代碼如下:

int main(int argc, char* argv[])

{

int fd;

//在/dev目錄下創(chuàng)建設(shè)備節(jié)點(diǎn)

fd = open(“/dev/i2c-1”, O_RDWR);

if(fd

printf(“open devices node error!\n”);

return -1;

}

//初始化I2C設(shè)備

init_i2c_dev(fd); //自定義函數(shù)

}

其次,加載I2C驅(qū)動(dòng)程序功能非常靈活,可以使用insmod和modprobe命令:

//使用insmod加載驅(qū)動(dòng)程序

insmod i2c_driver.ko

//使用modprobe加載驅(qū)動(dòng)程序

modprobe i2c_driver

最后,需要使用lsmod命令查看是否成功加載I2C驅(qū)動(dòng)程序:

//查看i2c_driver是否已加載

lsmod | grep “i2c_driver”

綜上所述,在Linux下I2C驅(qū)動(dòng)程序的制作與部署也是一個(gè)比較靈活且迅速的過程,能有效幫助用戶體驗(yàn)更加完善的功能。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


網(wǎng)頁名稱:Linux下I2C驅(qū)動(dòng)程序的制作與部署(i2clinux驅(qū)動(dòng))
本文鏈接:http://www.5511xx.com/article/cdgcjcj.html