AM2320 溫濕度計 單匯流排讀取資料

2021-08-01 23:39:11 字數 2536 閱讀 5958

溫濕度計 用單匯流排方式讀取資料

am2320支援iic通訊和單匯流排通訊,這裡只用單匯流排:

使用單匯流排時的接線方式時,只需接第二引腳sda,scl接地就行。

通訊時序圖:

由時序可見通訊非常簡單,關鍵點要把握好每個時序的時間。

程式思路:

1.握手:

先是傳送0.8~20ms的開始訊號,然後等待am2320的應答,要確保應答訊號是先是80us的低電平和80us的高電平。

2.資料傳輸。

am2320發出應答後就會在跟著的低電平(48~50us)後返回資料位,用高電平的時間長短來區分訊號『1』和『0』。手冊說'0'是22~30us,'1'是60~75us,本人測試時並不對,通過對電平時間的測量發現,'0'在4~8us之間,'1'在14~16us之間。可能是延時函式引起的誤差。一切以實際情況為準。

程式原始碼:

#include "stm32f10x.h"

#include "usart.h"

#include "delay.h"

#define am2320_pin gpiob,gpio_pin_7

#define am2320_port gpio_readinputdatabit(am2320_pin)

#define am2320_port_h gpio_setbits(am2320_pin)

#define am2320_port_l gpio_resetbits(am2320_pin)

//void delay_us(uint32_t n) 延時多少微秒,n就輸入多少!

////void delay_ms(uint32_t n) 延時多少微秒,n就輸入多少!

//void am2320_init()

unsigned char am2320_start()

if(wait>=200)//沒回應

status|=0x08;

wait=0;

while(am2320_port==0&&wait<90)//響應低電平 75~85us

if(wait>=90)//no ack

status|=0x04;

wait=0;

while(am2320_port==1&&wait<200)//響應高電平時間 75~85us

if(wait>=200)//no ack

status|=0x02;

return status;

}unsigned char am2320_read(unsigned char *dat)//讀40位

if(wait>=100)

status|=0x10;

wait=0;

while(am2320_port==1&&wait<100)//22~75us

if(wait>=100)

//printf("wait:%d\n",wait);

//*****************************

//如果資料不正確或者沒資料回來時,把時序的時間列印出來

//此次資料時序在時間在 4~8us,14~15us範圍內,可能delay_us不準確!!!!!!!

} *dat=tmp;

dat++;

tmp=0;

} if((*dat+*(dat+1)+*(dat+2)+*(dat+3))==*(dat+4))

else

return status|=0x80;

}int main()

else

status=am2320_start();

// printf("status1:%x\n",status);

status|=am2320_read(am2320_read_buff);

printf("status2:%x\n",status);

h=am2320_read_buff[0]*256+am2320_read_buff[1];

t=am2320_read_buff[2]*256+am2320_read_buff[3];

c=am2320_read_buff[4];

for(a=0;a<5;a++)

printf("%x\t",am2320_read_buff[a]);

printf("h:%f,t:%f c,c:%d\n",(float)h*0.1,(float)t*0.1,c);

// while(1)

//

}}

am2320printf和delay函式請自行編寫

arduino學習筆記八 溫濕度計

dht11 數字溫濕度感測器是一款含有已校準數碼訊號輸出的溫濕度復合感測器。它應用專用的數字模組採集技術 和溫濕度感測技術,確保產品具有極高的可靠性與卓越的長期穩定性。感測器包括乙個電阻式感溼元件和乙個ntc 測 溫元件,並與乙個高效能8 位微控制器相連線。因此該產品具有品質卓越 超快響應 抗干擾能...

低功耗溫濕度感測器用於工業級電子溫濕度計

溫濕度產品在現代的應用非常廣泛,機房 工業 農業,倉儲等都離不開溫濕度管理,特別是在實時記錄溫濕度變化的工作中最為廣泛,溫濕度感測器可以根據所記錄的資料,對各個不同的領域進行科學有效的分析 管理。如今,民用溫濕度感測器的應用也越來越普遍,但是,工業級溫濕度感測器仍然佔據著主導地位。都是用於溫濕度測量...

天貓精靈首款智慧型溫濕度計上市發布

10 月 15 日,深圳市豪恩安全科技 下簡稱豪恩 聯合天貓精靈 tmallgenie 重磅發布了天貓精靈首款 智慧型溫濕度計 新品。此款產品,不同於市面上傳統的溫濕度計,它凝聚了豪恩 24 年物聯感測技術與天貓精靈的人工智慧服務。內建的瑞士sensirion溫濕度傳程式設計客棧感器,能精確監測顯示...