本文來(lái)源電子發(fā)燒友社區(qū),作者:少年阿炳, 帖子地址:https://bbs.elecfans.com/jishu_2246563_1_1.html 本次內(nèi)容包括 1.使用模擬IIC點(diǎn)亮OLED屏幕,并讀取DHT11的溫濕度顯示在OLED屏上 2.硬件IIC非中斷的使用 首先是模擬IIC的使用 模擬IIC就是使用單片機(jī)控制IO口輸出高低電平模擬實(shí)際IIC開始,結(jié)束,數(shù)據(jù)發(fā)送等的相應(yīng)規(guī)則達(dá)到點(diǎn)亮OLED的目的。所以最重要的就是如何配置IO口已經(jīng)輸出高低電平。 將需要的IO口配置成輸出模式 使用GPIO_Write()函數(shù)輸出高/低電平
之后就是模擬開始信號(hào),結(jié)束信號(hào),響應(yīng)信號(hào),數(shù)據(jù)發(fā)送,命令發(fā)送等。我這里是將現(xiàn)成可用的STM32代碼移植過(guò)來(lái),然后做了對(duì)應(yīng)的修改。詳細(xì)可以查看附件1. 特別說(shuō)明:我這里的響應(yīng)信號(hào)也是模擬的,并不是真讀取OLED的返回。 DHT11溫濕度的讀取 DHT11的數(shù)據(jù)是通過(guò)單總線實(shí)現(xiàn)的。數(shù)據(jù)讀取信號(hào)以及返回的溫濕度值都是通過(guò)一根數(shù)據(jù)線完成,因此需要對(duì)同一個(gè)IO口先進(jìn)行輸出配置,然后進(jìn)行輸入配置。
硬件IIC使用的注意事項(xiàng) 在用模擬IIC點(diǎn)亮OLED后,我尋思著使用以下CSM32自帶的硬件IIC點(diǎn)亮OLED, 使用的是非中斷模式,啟動(dòng)硬件IIC使用的I2C_Init_case1()函數(shù)。
特別說(shuō)明一下從機(jī)地址的配置形式,因?yàn)榇司€使用模式IIC時(shí)從機(jī)地址都是0x78,所以到了硬件IIC,我想當(dāng)然配置成了0x78,這樣是錯(cuò)誤的。 從機(jī)地址的bit0位需要根據(jù)READ或者WRITE分別配置成1/0 一開始我將地址配置成0x78后,通過(guò)邏輯分析儀讀取到的SDA變成了0xF0(11110000),也就是0x78(01111000)左移了一位,也就是說(shuō)CSM32的硬件IIC將我的地址左移了一位,然后在bit0插入了一位0。所以在初始化配置時(shí),需要將從機(jī)地址配置成0x3C,這樣才能確保從機(jī)地址正確。 之后通過(guò)I2C_Write函數(shù)寫數(shù)據(jù)。
I2C_Write(uint8_t addr,uint8_t data) addr參數(shù),實(shí)際代表的是數(shù)據(jù)命令,對(duì)應(yīng)的就是模擬IIC發(fā)送時(shí),中間的那位數(shù)據(jù), 0x00,寫入命令。0x40,寫入數(shù)據(jù)。
完成以上修改后,就能將之前模擬IIC修改為硬件IIC。 下面圖片中邏輯分析儀的時(shí)序圖供大家參考,截圖框內(nèi)是錯(cuò)誤配置的從機(jī)地址。 因?yàn)槲沂褂玫倪壿嫹治鰞x就20幾塊,顯示的從機(jī)地址好像不正確,但是波形還是準(zhǔn)確的。 |
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
南京中科微
+關(guān)注
關(guān)注
0文章
60瀏覽量
744 -
CSM32RV20
+關(guān)注
關(guān)注
0文章
40瀏覽量
216
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
【敏矽微ME32G070開發(fā)板免費(fèi)體驗(yàn)】開箱+點(diǎn)燈+點(diǎn)亮OLED
ME32G070 支持硬件 I2C,這里偷個(gè)懶,不想使用繁瑣的跳線,直接在開發(fā)板上隨意插入 OLED 顯示屏的引腳,如下:
直接插上 OLED
發(fā)表于 12-19 00:25
基于CW32模塊的SHT30溫濕度傳感器設(shè)計(jì)
我們的目標(biāo)是將例程移植至CW32F030C8T6開發(fā)板上【測(cè)量溫濕度的功能】。首先要獲取資料,查看數(shù)據(jù)手冊(cè)應(yīng)如何實(shí)現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。
【RA-Eco-RA2E1-48PIN-V1.0開發(fā)板試用】IIC 通信的 OLED 顯示
【RA-Eco-RA2E1-48PIN-V1.0開發(fā)板試用】IIC 通信的 OLED 顯示
簡(jiǎn)介
IIC
發(fā)表于 11-07 02:30
關(guān)于Air780E:使用文件系統(tǒng)存儲(chǔ)溫濕度數(shù)據(jù)怎么操作?
?伙伴們,今天我們來(lái)學(xué)習(xí)合宙低功耗4G模組Air780E快速入門之使用文件系統(tǒng)存儲(chǔ)溫濕度數(shù)據(jù)。 一、 編寫腳本 1.1 硬件及資料準(zhǔn)備 780E開發(fā)板 LuatOS-Air780E-文件系統(tǒng)
【RA-Eco-RA0E1-32PIN-V1.0開發(fā)板試用】sht30溫濕度傳感器
這一章節(jié),繼續(xù)探究RA0E1的硬件iic外設(shè)。來(lái)驅(qū)動(dòng)SHT30溫濕度傳感器,該款溫濕度傳感器具有高精度穩(wěn)定性,可以精確到0.125度的分辨率,特別適合用來(lái)做環(huán)境的監(jiān)測(cè)。
發(fā)表于 10-14 23:40
【BearPi-Pico H3863星閃開發(fā)板體驗(yàn)連載】GPIO 控制與 IIC OLED 顯示
杜邦線連接開發(fā)板與 OLED 顯示屏,接線方式如下
TXD -----> SDA
?
RXD -----> SCL
?
3V3 ------> VCC
?
GND -----> GND
發(fā)表于 10-03 12:47
Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示
Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示
求助,請(qǐng)問(wèn)ESP32-S2-DevKitM-1開發(fā)板的IIC引腳是哪些?
購(gòu)買的ESP32-S2-DevKitM-1,說(shuō)是有兩路IIC,可是到處找的資料,都沒說(shuō)是哪些引腳,使用Arduino里的Adafruit_SSD1306或者U8g2庫(kù)對(duì)0.96吋OLED
發(fā)表于 07-01 07:03
【GD32F303紅楓派開發(fā)板使用手冊(cè)】第二十二講 IIC-IIC OLED顯示實(shí)驗(yàn)
通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容:
?OLED驅(qū)動(dòng)原理
?IIC驅(qū)動(dòng)OLED顯示操作
22.2 實(shí)驗(yàn)原理
OLED模塊的驅(qū)動(dòng)芯片為SSD1306,
如何用stm32實(shí)現(xiàn)將IIC溫濕度傳感線采集到的數(shù)據(jù)轉(zhuǎn)發(fā)到485的設(shè)備。
各位前輩,小弟剛畢業(yè)。公司要求實(shí)現(xiàn)這么一個(gè)項(xiàng)目,把iic協(xié)議的sht30溫濕度傳感器線采集到的數(shù)據(jù)轉(zhuǎn)在485通訊的顯示屏上打印出來(lái),小弟毫無(wú)頭緒,網(wǎng)上資料不多,望指點(diǎn)。
發(fā)表于 06-21 09:40
項(xiàng)目分享|基于ELF 1開發(fā)板的MQTT遠(yuǎn)程溫濕度監(jiān)測(cè)系統(tǒng)
今天非常榮幸向各位小伙伴詳細(xì)展示一個(gè)由共創(chuàng)社成員完成的MQTT遠(yuǎn)程溫濕度監(jiān)控系統(tǒng)項(xiàng)目。該項(xiàng)目借助ELF1開發(fā)板作為核心技術(shù)支撐,成功實(shí)現(xiàn)了對(duì)各類環(huán)境空間中溫濕度數(shù)據(jù)的實(shí)時(shí)、遠(yuǎn)程、穩(wěn)定監(jiān)測(cè)。該系統(tǒng)不僅
基于51單片機(jī)的SHT11溫濕度監(jiān)測(cè)系統(tǒng),LCD1602顯示,上下限按鍵設(shè)置
LCD1602顯示模塊實(shí)時(shí)顯示溫濕度數(shù)據(jù),同時(shí)可以通過(guò)按鍵模塊對(duì)溫濕度報(bào)警上、下限值進(jìn)行設(shè)定。
當(dāng)SHT11讀取的
發(fā)表于 03-26 17:44
stm32f407vet6驅(qū)動(dòng)0.96寸oled,顯示屏無(wú)法顯示怎么解決?
stm32f407vet6驅(qū)動(dòng)0.96寸oled——iic協(xié)議代碼無(wú)報(bào)錯(cuò)時(shí)鐘正確顯示屏無(wú)法顯示
發(fā)表于 03-14 06:49
【原創(chuàng)】DHT11傳感器溫濕度監(jiān)測(cè)系統(tǒng)畢設(shè),論文、代碼、原理圖和仿真介紹
使用。但從成本考慮,DHT11價(jià)格便宜,其應(yīng)用更為廣泛。
系統(tǒng)概述
本文設(shè)計(jì)了一種基于51單片機(jī)和DHT11傳感器的溫濕度監(jiān)測(cè)系統(tǒng),能夠?qū)崿F(xiàn)對(duì)當(dāng)前環(huán)境溫濕度數(shù)據(jù)的采集、處理、顯示和報(bào)警等功能。
系統(tǒng)
發(fā)表于 03-13 00:53
【外設(shè)移植】0.96寸IIC單色屏+Ai-M61開發(fā)板
本作品由安信可社區(qū)用戶 沈夜 制作 ? 01外設(shè)介紹 先來(lái)介紹下0.96寸OLED顯示屏(驅(qū)動(dòng)芯片:SSD1306 / SSD1315) [color=rgba(0, 0, 0, 0.87
評(píng)論