aht10 標頭檔案
#ifndef _i2c_ath10_h_
#define _i2c_ath10_h_
#include
"c_types.h"
void
delayms
(u32 ms)
;void
aht10init()
;void
aht10_rst()
;unsigned
char
aht10_status()
;unsigned
char
aht10_calen()
;void
ath10_init()
;void
aht10_mea()
;void
aht10_read_data()
;#endif
aht10 c檔案
#include
"driver/i2c_master.h"
#include
"osapi.h"
#include
"c_types.h"
#include
"gpio.h"
#define aht10addwr 0x70
//aht10寫資料位址
#define aht10addrd 0x71
//aht10讀資料位址
void
delayms
(u32 ms)
}void
aht10init()
//aht10初始化
i2c_master_stop()
;delayms
(400);
}void
aht10_rst()
//軟復位
unsigned
char
aht10_status()
//讀取aht10狀態暫存器
unsigned
char
aht10_calen()
//判斷aht10校準使能
void
ath10_init()
}}else
}void
aht10_mea()
//觸發測量
i2c_master_stop()
;}void
aht10_read_data()
//接收濕度溫度資料
}i2c_master_start()
;i2c_master_writebyte
(aht10addrd);if
(!i2c_master_checkack()
) byte_1th =
i2c_master_readbyte()
;//狀態資料
i2c_master_send_ack()
;//應答
delayms(10
);byte_2th =
i2c_master_readbyte()
;//濕度資料
i2c_master_send_ack()
;delayms(10
);byte_3th =
i2c_master_readbyte()
;//濕度資料
i2c_master_send_ack()
;delayms(10
);byte_4th =
i2c_master_readbyte()
;//高4位為濕度 低4位為溫度
i2c_master_send_ack()
;delayms(10
);byte_5th =
i2c_master_readbyte()
;//溫度資料
i2c_master_send_ack()
;delayms(10
);byte_6th =
i2c_master_readbyte()
;//溫度資料
i2c_master_send_nack()
;i2c_master_stop()
; retudata =0;
//原始濕度資料合成
retudata =
(retudata | byte_2th)
<<8;
retudata =
(retudata | byte_3th)
<<8;
retudata = retudata | byte_4th;
retudata = retudata >>4;
ct[0]
= retudata;
retudata =0;
//原始溫度資料合成
retudata =
(retudata | byte_4th)
<<8;
retudata =
(retudata | byte_5th)
<<8;
retudata = retudata | byte_6th;
retudata = retudata &
0xfffff
; ct[1]
= retudata;
delayms(10
);rh =
(ct[0]
*1000
/1024
/1024);
temp =
(ct[1]
*200*10
/1024
/1024
-500);
//計算溫度
os_printf
("temp: %d.%d℃ rh: %d.%d%\n"
, temp /
10, temp %
10, rh /
10, rh %10)
;}
AHT10溫濕度感測器讀取例程 51微控制器
aht10溫濕度感測器讀取例程 51微控制器 所需材料 名稱 個數aht10溫濕度感測器 151微控制器 1連線線纜 若干概述 aht10溫濕度感測器是以i2c為介面傳送資料的器件,所以我們編寫程式時是以i2c協議為主,這裡我們使用軟體模擬的方法來實現i2c通訊。器件簡介 aht10 配有乙個全新設...
溫濕度感測器採集
軟體 keil firetool助手 硬體 stm32核心板,溫濕度感測器,st link燒錄器,ttl轉usb模組 首先保證程式編譯通過,電腦連線stm32核心板 核心板連線溫濕度感測器 st link燒錄器 ttl轉usb模組 預設電腦已安裝st link驅動 設定keil相關引數,參考 最後燒...
溫濕度感測器採集
硬體i2c 對應晶元上的i2c外設,有相應的i2c驅動電路,其所使用的i2c管腳也是專用的,因而效率要遠高於軟體模擬的i2c 一般也較為穩定,但是程式較為繁瑣。硬體i2c是直接呼叫內部暫存器進行配置 而軟體i2c是沒有暫存器這個概念的。軟體i2c 一般是使用gpio管腳,用軟體控制scl,sda線輸...