因為是模擬的所以不必拘束IO管腳,我是選擇了PB6,PB7管腳,這兩個管腳旁邊也有3.3V正好可以供電。
之后看下代碼吧。
`void IIC_Init(void)
{
rcu_periph_clock_enable(RCU_GPIOB); /* configure led GPIO port */ gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_6|GPIO_PIN_7); gpio_output_options_set(GPIOB, GPIO_OTYPE_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_6|GPIO_PIN_7); IIC_SpeedCtl(5); SDA_H; //拉高SDA線,處于空閑狀態 SCL_H; //拉高SCL線,處于空閑狀態
}`
這里是IIC接口初始化,我們初始化成GPIO_OTYPE_OD,開漏輸出,這樣不必在意IO口的方向,方便讀取IO狀態。
之后獲取溫濕度值都在SHT20_GetValue函數中。主要就是讀取兩個寄存器里溫濕度值。
然后我們可以仿真看下效果。
審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
寄存器
+關注
關注
31文章
5355瀏覽量
120531 -
GPIO
+關注
關注
16文章
1205瀏覽量
52149 -
IIC通信
+關注
關注
0文章
19瀏覽量
3029
發布評論請先 登錄
相關推薦
【OneNET麒麟座試用體驗】7.溫濕度傳感器SHT20的使用
`SHT20是一種支持IIC協議的數字溫濕度傳感器。 能測量的溫度范圍是-20~100度,濕度范圍是5%~90% 既然它是一個
發表于 04-01 12:51
【OneNET麒麟座試用體驗】3.OneNET之HAL i2c的使用(SHT20溫濕度測量)
與原理這次主要使用STM32F103的HAL 庫i2c來進行外設的操作,EEPROM AT24C02,溫濕度傳感器SHT20。AT24C02很熟悉了,256 B 的存儲空間。就不過多說了。SHT20
發表于 04-19 18:37
藍牙溫濕度計常用的場景
需兩步便可完成連接,非常方便。將溫濕度計部署在應用環境中后,可24小時不間斷監測環境溫濕度,通過藍牙網關將數據上傳到云端,在監控后臺或手機App上以可視化圖表展示溫濕度日線、周線、月線
發表于 01-05 16:46
如何利用軟件模擬I2C讀寫SHT20溫濕度傳感器
下面利用軟件模擬I2C讀寫SHT20溫濕度傳感器。一、SHT20通訊定義(1)設備I2C地址:0x40;(2)命令:測量溫度和濕度都有兩種模
發表于 11-24 07:12
SHT30溫濕度模塊怎么使用
的STH30一般是用IIC(I2C)通信使用的,所以我們打開一個IIC通道,IIC默認配置就可以了。4、因為我們需要看見她的效果是什么,我開了一個串口,所有數據
發表于 02-15 06:28
【合宙Air105開發板試用體驗】SHT20溫濕度獲取
今天繼續使用歷程完成一下SHT20傳感器的值獲取。工程我們還是從實例工程中獲取下。然后進行編譯下載。可以焊接好排針方便接線。這里讀取答應出了寄存器原始值,以及溫濕度轉換值。這里的計算公式感覺簡化了實際手冊中是這樣的。本次通過手冊
發表于 06-24 09:39
SHT20溫濕度傳感器數據讀取異常如何解決?
使用SHT20溫濕度傳感器,用模擬IIC通信,不能正確的讀取數據。現象有3個
第一,讀取溫度的低8位始終是0xFF。
第二,讀取溫度的高8位
發表于 10-19 06:32
如何自己設計一款溫濕度計
家好,今天筆者要跟大家分享一款“溫濕度計”的制作,一說到溫濕度檢測,或許大家第一個想到的就是DHT11了吧,單總線接口,操作方便,或者就是SHT2X系列的,IIC總線接口,編程也是比較
HP6心率血壓、SHT20溫濕度、MPU6050傳感器使用
多個傳感器使用HP6心率血壓IIC復習IIC簡介:IIC數據接口IIC通訊速度器件地址軟件模擬起始信號結束信號應答信號讀字節/寫字節
發表于 12-06 15:51
?26次下載
sht20校驗對讀出的溫度偏高
溫度讀數偏高的原因,并提供解決方案。 第一部分:SHT20傳感器原理及校驗功能介紹 SHT20是一種基于CMOSens?技術的數字式溫濕度傳感器,具有高準確性和可靠性。其原理是通過測量
評論