版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
12/12驅(qū)動(dòng)程序詳細(xì)說(shuō)明按照上述硬件相關(guān)功能性能需求,以《驅(qū)動(dòng)程序概要設(shè)計(jì)說(shuō)明書(shū)》為依據(jù),在理論和實(shí)際應(yīng)用測(cè)試基礎(chǔ)上展開(kāi)驅(qū)動(dòng)程序詳細(xì)說(shuō)明。GPIO與中斷GPIO與中斷共用同一設(shè)備節(jié)點(diǎn),/dev/gpio_sg,通過(guò)IOCTL對(duì)IO和中斷進(jìn)行訪問(wèn)、控制。簡(jiǎn)單代碼示例如下:使用時(shí),使用fd=open(gpiodrv,O_RDWR|O_NOCTTY|O_NDELAY)打開(kāi)/dev/gpio_sg設(shè)備,正常打開(kāi)后,即可通過(guò)ioctl進(jìn)行操作了。其中g(shù)pio_idx為IO的枚舉序號(hào),具體GPIO和中斷枚舉說(shuō)明如下:GPIO枚舉說(shuō)明序號(hào)GPIO枚舉代號(hào)枚舉數(shù)功能說(shuō)明1PB09ltepw0LTE模塊電源控制,0開(kāi),1關(guān)2PH17lterst1LTE模塊電源控制,0低,1高,常態(tài)為高,低電平有效3PH16lteonf2LTE模塊ON/OFF控制,0低,1高,常態(tài)為高,低電平有效4PH15ltepctrl3LTE加熱引腳,0低,1高,常態(tài)為低,高電平有效5PB08uart1ms4RS232/RS485可切換串口1模式切換IO6PG09uart2ms5RS232/RS485可切換串口2模式切換IO7PF01mcu1rst6MCU1重置IO8PD06mcu2rst7MCU2重置IO9PH24plcrst8載波模塊重置IO10PD02leduartm19RS232/RS485可切換串口1模式指示燈11PH06leduartm210RS232/RS485可切換串口2模式指示燈12PB02lte2rst11LTE2重置IO13PB03lte2onf12LTE2ON/OFF控制IO14PH27plc12v13載波12V控制IO15PH18usbuartrst14USB轉(zhuǎn)串口重置IO16PH19blerst15BLE藍(lán)牙重置IO17PH25encryptrst16加密模組重置IO18PH23blects17BLE藍(lán)牙CTS19PH21ledrsv118預(yù)留LED120PH22ledrsv219預(yù)留LED2中斷枚舉說(shuō)明序號(hào)GPIO枚舉代號(hào)枚舉數(shù)功能說(shuō)明1PH11uart1msk0RS232/RS485可切換串口1模式選擇按鍵中斷2PH10uart2msk1RS232/RS485可切換串口2模式選擇按鍵中斷3PH08plcplg2載波模塊插入檢測(cè)中斷4PH02lteplg34G模塊插入檢測(cè)中斷5PH13exethintr4外部中斷6PH00pt100intr5pt100中斷目前支持的IOCTL信號(hào)如下:#defineTGPIO_IOC_MAGIC'T'#defineTGPIO_IOC_GETVAL_IOR(TGPIO_IOC_MAGIC,1,__u8)#defineTGPIO_IOC_GETSTA_IOR(TGPIO_IOC_MAGIC,2,__u8)#defineTGPIO_IOC_SETHIGH_IOW(TGPIO_IOC_MAGIC,2,__u8)#defineTGPIO_IOC_SETLOW_IOW(TGPIO_IOC_MAGIC,3,__u8)#defineTGPIO_IOC_TOGGLE_IOW(TGPIO_IOC_MAGIC,4,__u8)依次為:獲取GPIO當(dāng)前值,操作方法:ret=ioctl(fd,TGPIO_IOC_GETVAL,&gpio_idx)返回值ret為ioctl的是否成功的標(biāo)志,返回為0表示設(shè)置成功,GPIO當(dāng)前值將返回到gpio_idx變量;獲取中斷當(dāng)前狀態(tài),操作方法:ret=ioctl(fd,TGPIO_IOC_GETSTA,&intr_idx)返回值ret為ioctl的是否成功的標(biāo)志,返回為0表示設(shè)置成功,GPIO當(dāng)前值將返回到intr_idx變量;設(shè)置IO狀態(tài)為高,ret=ioctl(fd,TGPIO_IOC_SETHIGH,&gpio_idx);返回值ret為ioctl的是否成功的標(biāo)志,返回為0表示設(shè)置成功。設(shè)置IO狀態(tài)為低,ret=ioctl(fd,TGPIO_IOC_SETLOW,&gpio_idx)返回值ret為ioctl的是否成功的標(biāo)志,返回為0表示設(shè)置成功。設(shè)置IO狀態(tài)反向,ret=ioctl(fd,TGPIO_IOC_TOGGLE,&tmp)返回值ret為ioctl的是否成功的標(biāo)志,返回為0表示設(shè)置成功。同時(shí),中斷通過(guò)FASYNC信號(hào)將發(fā)生的中斷通知到應(yīng)用層,應(yīng)用層收到SIGIO的信號(hào)后,遍歷中斷引腳,以獲取中斷引腳狀態(tài),具體代碼如下:加密芯片TTU目前配備SC1187Y與SC1168Y兩款加密芯片,設(shè)備節(jié)點(diǎn)分別為/dev/encryption0和/dev/encryption1,通過(guò)ioctl對(duì)加密芯片ESAM進(jìn)行讀寫(xiě)操作,使用方法如下:定義相關(guān)結(jié)構(gòu)體:structencryption_reg_req{intbuflen;char*bufdata;};2、定義IOCTL相關(guān)信號(hào):#defineESAM_GET_DATA_IOW('E',0x01,structencryption_reg_req)#defineESAM_SET_DATA_IOW('E',0x02,structencryption_reg_req)3、打開(kāi)加密芯片設(shè)備,進(jìn)行ioctl操作,一次寫(xiě)、讀交互示例如下:串口TTU使用4路UART實(shí)現(xiàn)兩路RS485串口、兩路RS232/RS485可切換串口,設(shè)備節(jié)點(diǎn)與串口對(duì)應(yīng)關(guān)系為:串口與設(shè)備節(jié)點(diǎn)對(duì)應(yīng)關(guān)系UART設(shè)備節(jié)點(diǎn)對(duì)應(yīng)串口GPIO狀態(tài)3/dev/ttySZ3RS485-1-4/dev/ttySZ4RS485-2-5/dev/ttySZ5RS485-3PB08為高電平6/dev/ttySZ6RS485-4PB09為高電平7/dev/ttySZ5RS232-1PB08為低電平8/dev/ttySZ6RS232-2PB09為低電平串口打開(kāi)fd=open("/dev/ttySZ3",O_RDWR|O_NOCTTY|O_NDELAY)打開(kāi)后進(jìn)行配置,配置無(wú)校驗(yàn)、9600波特率操作如下:之后,通過(guò)read(fd,buff,len)和write(fd,buff,len)進(jìn)行讀寫(xiě)即可。PT100I2C溫度傳感器Pt100溫度傳感器設(shè)備節(jié)點(diǎn)為/dev/pt100-i2c,打開(kāi)后直接通過(guò)read進(jìn)行數(shù)據(jù)讀取,每次讀取4個(gè)int長(zhǎng)度的數(shù)據(jù),,每?jī)蓚€(gè)int型數(shù)據(jù)為一組,分別為整數(shù)部分和小數(shù)部分,具體操作如下:ledwan驅(qū)動(dòng)說(shuō)明ledwan的設(shè)備節(jié)點(diǎn)是/dev/ledwan,打開(kāi)后,寫(xiě)入一個(gè)單字節(jié)的數(shù)值代表,代表讓ledwan燈的亮滅和閃爍。寫(xiě)入0代表ledwan燈滅寫(xiě)入1代表ledwan燈亮寫(xiě)入2代表ledwan燈閃爍下圖示例代碼是控制ledwan燈閃爍ledctrl驅(qū)動(dòng)說(shuō)明ledctl的設(shè)備節(jié)點(diǎn)是/dev/ledctl,打開(kāi)后直接,寫(xiě)入一個(gè)單字節(jié)的數(shù)值代表,代表讓ledctl燈的亮滅和閃爍。寫(xiě)入0代表ledctl燈滅寫(xiě)入1代表ledctl燈亮寫(xiě)入2代表ledctrl燈閃爍下圖示例代碼是控制ledctl燈常亮di17驅(qū)動(dòng)說(shuō)明di17的設(shè)備節(jié)點(diǎn)是/dev/di17,設(shè)備打開(kāi)后,讀取單個(gè)字節(jié)的數(shù)據(jù),讀取得到的數(shù)值為0,或者10代表上蓋狀態(tài)正常1代表上蓋被打開(kāi)下圖是讀取di17狀態(tài)的示例代碼di18驅(qū)動(dòng)說(shuō)明di18的設(shè)備節(jié)點(diǎn)是/dev/di18,設(shè)備打開(kāi)后,讀取單個(gè)字節(jié)的數(shù)據(jù),讀取得到的數(shù)值為0,或者10代表尾蓋狀態(tài)正常1代表尾蓋被打開(kāi)下圖是讀取di18狀態(tài)的示例代碼input_irq驅(qū)動(dòng)說(shuō)明input_irq對(duì)應(yīng)設(shè)備掉電
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)制度管理規(guī)定下發(fā)
- 醫(yī)院基建科財(cái)務(wù)制度
- 及時(shí)講解財(cái)務(wù)制度
- 政府購(gòu)買服務(wù)財(cái)務(wù)制度
- 中小型公司財(cái)財(cái)務(wù)制度
- 水果超市財(cái)務(wù)制度
- 農(nóng)村自來(lái)水供水運(yùn)營(yíng)公司應(yīng)急搶修制度
- 關(guān)于出差制度
- 公司對(duì)項(xiàng)目安全檢查制度
- 坡地建房施工方案(3篇)
- 2026海南安保控股有限責(zé)任公司招聘11人筆試模擬試題及答案解析
- 2026上海碧海金沙投資發(fā)展有限公司社會(huì)招聘參考題庫(kù)必考題
- 2026年張家界航空工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試模擬測(cè)試卷新版
- 2026遼寧機(jī)場(chǎng)管理集團(tuán)校招面筆試題及答案
- 化妝培訓(xùn)行業(yè)分析
- 孩子如何正確與師長(zhǎng)相處與溝通
- 精神病學(xué)考試重點(diǎn)第七版
- 塔吊運(yùn)行日志
- GB/T 14536.1-2022電自動(dòng)控制器第1部分:通用要求
- GA/T 1362-2016警用裝備倉(cāng)庫(kù)物資庫(kù)存管理規(guī)范
- 鋼結(jié)構(gòu)基本原理及設(shè)計(jì)PPT全套課件
評(píng)論
0/150
提交評(píng)論