STM32F405 標準庫 SHT20溫濕度感測器

2021-10-25 06:57:48 字數 1270 閱讀 8155

sht20是個溫濕度感測器,使用i2c通訊

下面的i2c程式需要換成你們自己的i2c程式

softreset函式:硬體初始化

set_resolution函式:設定解析度

readsht20函式:開始測量

在main.c主函式裡面這樣呼叫

if(softreset() == 0)

while(1)

sht20.c

#include "sht20.h"

#include "hardiic.h"

#include "delay.h"

#include "usart.h"

#define sht20addr 0x80

char softreset(void)

char set_resolution(void)

float readsht20(char whatdo)

delay_ms(20);

iic_start();

iic_send_byte(sht20addr&0xfe);

if(iic_wait_ack() == 1)return 0;

iic_send_byte(whatdo);

if(iic_wait_ack() == 1)return 0;

dowhile(iic_wait_ack() != 0);

msb = iic_read_byte(1);

lsb = iic_read_byte(1);

iic_read_byte(0);

iic_stop();

lsb &= 0xfc;

temp = msb*256 + lsb;

delay_ms(20);

if (whatdo==((char)0xf5))else

}

sht20.h 

#ifndef __sht20_h

#define __sht20_h

#include "sys.h"

char softreset(void);

char set_resolution(void);

float readsht20(char whatdo);

#endif

如果遇到什麼問題可以來問我我的b站

STM32F0使用LL庫實現SHT70通訊

在本次專案中,限於空間要求我們選用了stm32f030f4作為控制晶元。這款 mcu不但封裝緊湊,而且自帶的 flash 空間也非常有限,所以我們選擇了 ll庫實現。本篇我們將基於 ll庫採用模擬 i2c介面的方式實現溫濕度採集。1 sht70 簡述sht70是一款集溫濕度測量於一體的感測器,現在對...

STM32F407標準庫學習筆記 EXTI機制

如上圖所示,紅色為自引腳傳入的硬體電平訊號,綠色為暫存器傳來的軟體電平訊號 兩者皆為 能夠觸發 中斷 事件 的訊號,交匯於或門,兩者都可以單獨向後面發出訊號。即訊號 有軟 硬兩種。藍色線路 意為 將 或門傳出的訊號 視為中斷訊號,借助兩個 且門 和兩組對應的 遮蔽暫存器的 輸出訊號,實現藍色通路,黃...

STM32F407標準庫學習筆記 SYSTICK

systick定時器與核心緊密相連,請參考arm公司的手冊,他的中斷使能在自己的模組中,中斷優先順序和標誌位在scb中。typedef struct systick type 控制及狀態暫存器 計數標誌 時鐘源 異常 中斷 使能 計時器使能 開始 重裝載數值暫存器 倒計時起始值,24位有效,因為是減...