第十四周溫濕度感測器採集

2021-10-12 16:33:26 字數 2171 閱讀 6493

i2c通訊協議(inter—integrated circuit)是由philps公司開發的,由於它引腳少,硬體實現簡單,可擴充套件性強,不需要usart、can等通訊協議的外部收發裝置,現在被廣泛地使用在系統內多個積體電路(ic)間的通訊。

​ 在電腦科學裡,大部分複雜的問題都可以通過分層來簡化。如晶元被分為核心層和片上外設;stm32標準庫則是在暫存器與使用者**之間的軟體層。對於通訊協議,我們也以分層的方式來理解,最基本的是把它分為物理層和協議層。物理層規定通訊系統中具有機械、電子功能部分的特性,確保原始資料在物理**的傳輸。協議層主要規定通訊邏輯,統一收發雙方的資料打包、解包標準。簡單來說物理層規定我們用嘴巴還是用肢體來交流,協議層則規定我們用中文還是英文來交流。

硬體iic:硬體i2c對應晶元上的i2c外設,有相應i2c驅動電路,其所使用的i2c管腳也是專用的

軟體iic:軟體i2c一般是用gpio管腳,用軟體控制管腳狀態以模擬i2c通訊波形

區別在於,硬體iic用法比較複雜,模擬iic的流程更清楚一些;且硬體iic速度比模擬快;但模擬iic可以在任何管腳上,而硬體只能在固定管腳上

1、編寫主函式

(1)檢測aht20是否採集到資料,如果採到就處理資料

(2)根據如下兩個公式

c1 = aht20.ht[0]10010/1024/1024; //濕度

t1 = aht20.ht[1]20010/1024/1024-500;//溫度計算公式

來計算得出溫度。

(3)通過指示燈翻轉標識正常工作

(4)aht20函式中,有定義結構體,根據結構體來得到相關值

main函式如下

#include

"stm32f10x.h"

#include

"stm32f10x_usart.h"

#include

"misc.h"

#include

"stdio.h"

#include

"delay.h"

#include

"bsp_i2c.h"

#include

"ath20.h"

void

rcc_configuration

(void);

void

gpio_configuration

(void);

gpio_inittypedef gpio_initstructure;

#pragma import(__use_no_semihosting)

struct __file

;file __stdout;

_sys_exit

(int x)

intfputc

(int ch, file *f)

void

uart_init

(u32 bound)

intmain

(void

)while(1

)ath20_read_ctdata

(ct_data)

;//¶áè¡îâ¶èºíꪶè

c1 = ct_data[0]

*1000

/1024

/1024

; t1 = ct_data[1]

*200*10

/1024

/1024

-500

;printf

("aht20îâꪶè¶áè¡êµñé:\n");

printf

("îâ¶è: %d.%d ¡æ\n"

,(t1/10)

,(t1%10)

);printf

("ꪶè: %d.%d %%\n"

,(c1/10)

,(c1%10)

);printf

("\n\n");

softdelay_ms

(1000);

//㿸ôá½ãë¶áò»´îêý}}

void

rcc_configuration

(void

)void

gpio_configuration

(void

)

然後燒入程式,結果如下

溫濕度感測器採集

軟體 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線輸...

溫濕度感測器採集

1 什麼是i2c協議 i2c 通訊協議 inter integrated circuit 是由 phiilps 公司開發的,由於它引腳少,硬體實現簡單,可擴充套件性強,不需要 usart can 等通訊協議的外部收發裝置,現在被廣泛地使用在系統內多個積體電路 ic 間的通訊。2 i2c 協議的物理層...