幫助文檔
目錄
1. 獲取溫濕度(硬件設(shè)備為sht10)
2. 獲取大氣壓(硬件設(shè)備為bmp180)
3. 讀取ADC值(硬件設(shè)備為ms1112)
4. 狀態(tài)燈控制(硬件設(shè)備為pcal6416)
5. GPIO控制
5.1輸出設(shè)置
5.2輸入設(shè)置
5.3讀取輸入gpio電平
6. COM口
7. 相關(guān)結(jié)構(gòu)體定義
1.獲取溫濕度(硬件設(shè)備為sht10)
原型:int get_humidity_tempareture(sht10_st *value)
參數(shù):sht10_st結(jié)構(gòu)體指針,讀取的結(jié)果填充該結(jié)構(gòu)體。結(jié)構(gòu)體定義見(jiàn)后面
返回值:0-成功,-1 - 參數(shù)錯(cuò)誤,-2 - 設(shè)備節(jié)點(diǎn)不存在,-3 - 讀取失敗
2.獲取大氣壓(硬件設(shè)備為bmp180)
原型:int get_pressure_temparature(atmos_st *value)
參數(shù):atmos_st結(jié)構(gòu)體指針,讀取的結(jié)果填充該結(jié)構(gòu)體。結(jié)構(gòu)體定義見(jiàn)后面
返回值:0-成功,-1 - 參數(shù)錯(cuò)誤,-2 - 設(shè)備節(jié)點(diǎn)不存在,-3 - 讀取失敗
3.讀取ADC值(硬件設(shè)備為ms1112)
原型:int adc_channel_get(int channel_no,int *value)
參數(shù):channel_no - 通道 (取值范圍1-8),int型指針-adc采樣結(jié)果。
返回值:0-成功,-1 - 參數(shù)錯(cuò)誤,-2 - 設(shè)備節(jié)點(diǎn)不存在,-3 - 讀取失敗
注意:該函數(shù)是讀取原始的adc數(shù)據(jù),還需要將adc值轉(zhuǎn)為對(duì)應(yīng)的輸入采樣電壓。
輸入電壓 = ( (*value) * 2.048)/32768/0.4,單位= V
4.狀態(tài)燈控制(硬件設(shè)備為pcal6416)
原型:int led_control_set(led_num_e led_no,led_state_e enable)
參數(shù): led_no - led編號(hào),enable - led設(shè)置狀態(tài)
返回值:0-成功,-1 - 參數(shù)錯(cuò)誤,-2 - 設(shè)備節(jié)點(diǎn)不存在,-3 - 設(shè)置失敗
5.GPIO控制
5.1輸出設(shè)置
原型:int gpio_direction_output(int gpio_no,int state)
參數(shù):gpio_no - gpio編號(hào),state - 0 輸出低電平,1 - 輸出高電平
返回值:0-成功,負(fù)數(shù)-失敗
5.2輸入設(shè)置
原型:int gpio_direction_input(int gpio_no)
參數(shù):gpio_no-gpio編號(hào)
返回值:0-成功,負(fù)數(shù)-失敗
5.3讀取輸入gpio電平
原型:int gpio_get_value(int gpio_no,int *gpio_state)
參數(shù):gpio_no - gpio編號(hào),int型指針-存放讀取結(jié)果,*gpio_state=0 輸入低電平
*gpio_state =1 輸入高電平
返回值:0-成功,負(fù)數(shù)-失敗
注意:該部分GPIO為應(yīng)用層設(shè)置底層gpio狀態(tài),需要先在內(nèi)核將對(duì)應(yīng)的管腳注冊(cè)為普通gpio功能,應(yīng)用層才可以進(jìn)行操作。
6.COM口
Com口可以直接用文件操作函數(shù)處理(open/read/write/close等),各com口對(duì)應(yīng)的設(shè)備節(jié)點(diǎn)如下:
Com2-"/dev/ttymxc1"
Com3-"/dev/ttymxc2"
Com4-"/dev/ttymxc3"
Com5-"/dev/ttymxc6"
Com6-"/dev/ttymxc4"
Com7-"/dev/ttymxc5"
7.相關(guān)結(jié)構(gòu)體定義
typedef enum {
LED_SINGAL_C,
LED_SINGAL_B,
LED_SINGAL_A,
LED_WIRELESS,
LED_GPS,
LED_ONLINE,
}led_num_e;
typedef enum{
LED_OFF,
LED_ON,
}led_state_e;
typedef struct{
int temperature;
int pressure; //單位:Pa
}atmos_st;
typedef struct{
int humidity; // 單位:mRH到RH得除以1000
int temperature;//單位:m℃到℃得除以1000
}sht10_st;
佰馬Baimatech,集M2M產(chǎn)品研發(fā)、IoT平臺(tái)服務(wù)、國(guó)際化運(yùn)營(yíng)于一體,讓我們聯(lián)接,共創(chuàng)未來(lái)