<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 瑞薩RA0單片機連載——面向對象編程之SHT31溫度計

瑞薩RA0單片機連載——面向對象編程之SHT31溫度計

作者:lulugl 時(shí)間:2025-05-22 來(lái)源:EEPW 收藏


本文引用地址:http://dyxdggzs.com/article/202505/470718.htm

SHT3X是一款優(yōu)秀的溫濕度計。他采用I2C 接口,地址為0x44。它的驅動(dòng)與原理的講解非常的豐富,網(wǎng)上也有非多的現成的代碼,我這里不做過(guò)多的闡述。本篇的主要特點(diǎn)是在前面OLED驅動(dòng)的前提下,對sht31進(jìn)行面向對象的編程方式進(jìn)行講解。

1   前提

在OLED驅動(dòng)之中,我已經(jīng)初始化了I2C的總線(xiàn),所以有總線(xiàn)驅動(dòng)在本篇沒(méi)有做,如果是使用spi 或者其他的方式進(jìn)行數據展示,那么需要加上對I2C 總線(xiàn)進(jìn)行初始化。

2 實(shí)現步驟

2.1 創(chuàng )建sensor.h,在其中創(chuàng )建結構體

image.png

2.2 創(chuàng )建drv_sensor.c

首先實(shí)例化

image.png

接下來(lái)編寫(xiě)發(fā)送、接收超時(shí)函數

image.png

image.png

為了驗證讀取的溫度與數據是否正確,編寫(xiě)CRC函數如下:

image.png

1747967803246854.png

在讀取溫度的函數中首先向sht31發(fā)送開(kāi)始轉換命令0x2400, 我將他封裝在一個(gè)數據中,使用R_SAU_I2C_Write進(jìn)行一次性發(fā)送。當然由于總線(xiàn)上有SSD1306 操作時(shí)他的g_sau_i2c_master_ctrl 的從機地址是SSD1306的0x3c所以,需要先配置sht31的地址,他的發(fā)送數據轉換命令如下:

image.png

由于轉換需要一段時(shí)間,需要延時(shí)。

延時(shí)之后,我一次讀取6位數據,如果獲取數據成功,則進(jìn)行CRC并進(jìn)行float轉換,轉換成功后放到結構體中,并更新?tīng)顟B(tài):整個(gè)獲取數據的代碼如下:

image.png

image.png

image.png

3   數據展示

在主函數中編寫(xiě)測試代碼如下,如果獲取到溫度數據則顯示溫濕度,如果獲取出錯則顯示EEROR, 其代碼如下:

image.png

image.png

image.png

4   實(shí)驗效果

image.png

5   總結

使用面向對象對sht31的驅動(dòng)進(jìn)行封裝,在的FSP驅動(dòng)中,可以快速實(shí)現驅動(dòng),同時(shí)只需要提供驅動(dòng)的接口,可以實(shí)現低耦合的功能。

( 本文來(lái)源于《EEPW》



關(guān)鍵詞: 202505 瑞薩 單片機 溫度計 RA0

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>