日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ESP8266_09基于IIC控制的OLED屏幕

單片機(jī)愛好者 ? 來源:?jiǎn)纹瑱C(jī)愛好者 ? 2019-12-06 15:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

事情比較多,停了幾天,到目前為止,事情依然很多……

從第一節(jié)到第九節(jié)(也就是這一節(jié)),說的都是ESP8266的基本應(yīng)用,例如GPIO、定時(shí)器、中斷、PWM等等。從后面開始,將陸續(xù)說一下基于網(wǎng)絡(luò)的用法,畢竟這是個(gè)聯(lián)網(wǎng)的芯片,還是要聯(lián)網(wǎng)玩,才更能體現(xiàn)它的特點(diǎn)。但偶爾,我可能還會(huì)說一下它的硬件的基本用法,例如ADC、SPI等,看情況吧,時(shí)間富裕與否~

好,這一節(jié),主要說一下ESP8266上面的IIC接口。是的,它有SPI接口,也有IIC接口。但I(xiàn)IC接口是使用GPIO模擬的,也就是說,你可以使用8266上的任意兩個(gè)GPIO模擬出IIC接口來。同時(shí),每個(gè)管腳內(nèi)部都有上拉電阻,無需外接。

注:ESP8266只能用做IIC主設(shè)備,不能用做從設(shè)備。

那我們是否還要寫一堆IIC的start函數(shù)、stop函數(shù)?

不用,官方的SDK已經(jīng)給我們寫好了整個(gè)的IIC庫(kù),只要配置好要用的管腳,直接調(diào)用函數(shù)即可,例如:

i2c_master_start(void);

i2c_master_stop(void);

i2c_master_writeByte(uint8 wrdata);

如何使用?很簡(jiǎn)單,分四步:

1 添加相關(guān)源文件和頭文件

把i2c_master.c拷入app下的driver文件夾,把i2c_master.h拷入app下的include下的driver文件夾。

2 選擇要用到的GPIO

打開i2c_master.h文件,管腳選擇部分如下所示:

#defineI2C_MASTER_SDA_MUX PERIPHS_IO_MUX_GPIO2_U

#defineI2C_MASTER_SCL_MUX PERIPHS_IO_MUX_MTMS_U

#defineI2C_MASTER_SDA_GPIO 2

#defineI2C_MASTER_SCL_GPIO 14

#defineI2C_MASTER_SDA_FUNC FUNC_GPIO2

#defineI2C_MASTER_SCL_FUNC FUNC_GPIO14

通過這6個(gè)宏定義,配置好IIC接口要用的時(shí)鐘腳和數(shù)據(jù)腳,我這里想用GPIO12和14,所以改成如下的樣子:

#defineI2C_MASTER_SDA_MUX PERIPHS_IO_MUX_MTDI_U

#defineI2C_MASTER_SCL_MUX PERIPHS_IO_MUX_MTMS_U

#defineI2C_MASTER_SDA_GPIO 12

#defineI2C_MASTER_SCL_GPIO 14

#defineI2C_MASTER_SDA_FUNC FUNC_GPIO12

#defineI2C_MASTER_SCL_FUNC FUNC_GPIO14

關(guān)于管腳的名字,主要看eagle_soc.h文件。

3 初始化IIC管腳

通過下面的函數(shù)實(shí)現(xiàn):

i2c_master_gpio_init();

4 開始寫數(shù)據(jù)

用過24C02的童鞋都知道,IIC的寫操作,前后就幾步:開始信號(hào)、寫入設(shè)備地址、等待應(yīng)答、寫入存儲(chǔ)地址、等待應(yīng)答、寫入數(shù)據(jù)、結(jié)束信號(hào)。這里結(jié)合SDK中的例程IOT_DEMO中的IIC代碼,實(shí)現(xiàn)寫數(shù)據(jù)的函數(shù)如下:

boolICACHE_FLASH_ATTRWrite_IIC_Data(unsignedcharIIC_Data)

{

uint8 ack;

i2c_master_start();

i2c_master_writeByte(0x78); //D/C#=0; R/W#=0

ack = i2c_master_getAck();

if(ack) {

os_printf("addrnotackwhentxwritecmd ");

i2c_master_stop();

returnfalse;

}

i2c_master_writeByte(0x40); //write data

ack = i2c_master_getAck();

if(ack) {

os_printf("addrnotackwhentxwritecmd ");

i2c_master_stop();

returnfalse;

}

i2c_master_writeByte(IIC_Data);

ack = i2c_master_getAck();

if(ack) {

os_printf("addrnotackwhentxwritecmd ");

i2c_master_stop();

returnfalse;

}

i2c_master_stop();

}

上面代碼中出現(xiàn)的函數(shù),例如i2c_master_start()、i2c_master_writeByte(0x78)、i2c_master_getAck();等,都已經(jīng)在i2c_master.c中寫好了。換句話說,我們只需要像堆積木一樣,按照特定的順序把這些函數(shù)擺下來就行了。

so,是不是很簡(jiǎn)單?

如何演示?

這里使用一個(gè)0.96寸的,帶有IIC接口的OLED屏幕。這類屏幕按照我見過的接口不同,分兩種:一種是4針的,只能接IIC接口;一種是7針的,既能接IIC,又能接SPI。我手里這個(gè)是7針的,出廠默認(rèn)SPI接口,怎么切換到IIC,我看了半天手冊(cè):

看起來不難,當(dāng)我翻開我的液晶背面的時(shí)候,發(fā)現(xiàn)是這樣:

所以我只把SPI字符旁邊的電阻改到IIC旁邊就可以了。

程序使用賣家提供的代碼,做了一下移植。會(huì)用IIC的自然就懂了,不懂就說明你還沒學(xué)好IIC。

7針的接口,針腳功能如下:

雖然IIC只用到CLK和SDA兩個(gè)腳,但是這里還要注意下復(fù)位管腳,要給它接一個(gè)高電平,否則無法工作。

程序移植完成,保存、清理、編譯、下載一條龍,然后重新上電,效果如下所示:

程序里使用了一個(gè)軟件定時(shí)器,每隔3秒刷新一下圖片。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OLED
    +關(guān)注

    關(guān)注

    121

    文章

    6375

    瀏覽量

    234350
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1900

    瀏覽量

    102185
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4422

    瀏覽量

    67867

原文標(biāo)題:ESP8266_09基于IIC控制的OLED屏幕

文章出處:【微信號(hào):gh_dae0718828df,微信公眾號(hào):gh_dae0718828df】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ESP32/ESP8266開發(fā)板單向多對(duì)一ESP-NOW無線通信

    本實(shí)驗(yàn)通過ESP-NOW無線通信協(xié)議實(shí)現(xiàn)多個(gè)ESP32/ESP 8266開發(fā)板向ESP32開發(fā)板發(fā)送數(shù)據(jù)。例如可以應(yīng)用于從多個(gè)遠(yuǎn)程傳感器上收
    的頭像 發(fā)表于 03-30 10:14 ?207次閱讀
    <b class='flag-5'>ESP</b>32/<b class='flag-5'>ESP8266</b>開發(fā)板單向多對(duì)一<b class='flag-5'>ESP</b>-NOW無線通信

    ESP32/ESP8266開發(fā)板單向一對(duì)多ESP-NOW無線通信

    通過ESP-NOW無線通信協(xié)議實(shí)現(xiàn)ESP32開發(fā)板向多個(gè)ESP32/ESP 8266開發(fā)板發(fā)送數(shù)據(jù)。
    的頭像 發(fā)表于 03-13 09:23 ?314次閱讀
    <b class='flag-5'>ESP</b>32/<b class='flag-5'>ESP8266</b>開發(fā)板單向一對(duì)多<b class='flag-5'>ESP</b>-NOW無線通信

    ESP8266系列】WT8266-S3模組規(guī)格書

    概述ESP-07S(WT8266-S3)Wi-Fi模塊是由啟明云端科技開發(fā)的、低功耗高性價(jià)比的嵌入式無線網(wǎng)絡(luò)控制模塊??蓾M足智能電網(wǎng)、樓宇自動(dòng)化、安防、智能家居、遠(yuǎn)程醫(yī)療等物聯(lián)網(wǎng)應(yīng)用的需求。該模塊
    的頭像 發(fā)表于 02-05 18:04 ?254次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S3模組規(guī)格書

    ESP8266系列】WT8266-S5模組規(guī)格書

    概述ESP-12F(WT8266-S5)WiFi模塊是由啟明云端科技開發(fā)的、低功耗高性價(jià)比的嵌入式無線網(wǎng)絡(luò)控制模塊??蓾M足智能電網(wǎng)、樓宇自動(dòng)化、安防、智能家居、遠(yuǎn)程醫(yī)療等物聯(lián)網(wǎng)應(yīng)用的需求。該模塊核心
    的頭像 發(fā)表于 02-05 18:03 ?404次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S5模組規(guī)格書

    ESP8266系列】WT8266-S6模組規(guī)格書

    ESP-12S(WT8266-S6)Wi-Fi模塊是由啟明云端科技開發(fā)的、低功耗高性價(jià)比的嵌入式無線網(wǎng)絡(luò)控制模塊??蓾M足智能電網(wǎng)、樓宇自動(dòng)化、安防、智能家居、遠(yuǎn)程醫(yī)療等物聯(lián)網(wǎng)應(yīng)用的需求。該模塊核心
    的頭像 發(fā)表于 02-05 18:03 ?410次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S6模組規(guī)格書

    ESP8266系列】WT8266-S1模組產(chǎn)品介紹

    WT8266-S1WiFi模塊是由啟明云端科技開發(fā)的、低功耗高性價(jià)比的嵌入式無線網(wǎng)絡(luò)控制模塊。可滿足智能電網(wǎng)、樓宇自動(dòng)化、安防、智能家居、遠(yuǎn)程醫(yī)療等物聯(lián)網(wǎng)應(yīng)用的需求。該模塊核心處理器ESP8266
    的頭像 發(fā)表于 01-29 18:22 ?714次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S1模組產(chǎn)品介紹

    ESP8266系列】WT8266-S6模組產(chǎn)品介紹

    ESP-12S(WT8266-S6)Wi-Fi模塊是由啟明云端科技開發(fā)的、低功耗高性價(jià)比的嵌入式無線網(wǎng)絡(luò)控制模塊??蓾M足智能電網(wǎng)、樓宇自動(dòng)化、安防、智能家居、遠(yuǎn)程醫(yī)療等物聯(lián)網(wǎng)應(yīng)用的需求。該模塊核心
    的頭像 發(fā)表于 01-29 18:22 ?471次閱讀
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S6模組產(chǎn)品介紹

    無需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個(gè)神器絕了!

    無需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個(gè)神器絕了!【往期精選】十年嵌入式最深的痛,不是Bug,而是抓不到日志!vivo宣布原生支持HomeAssistant生態(tài)設(shè)備接入(含
    的頭像 發(fā)表于 01-10 10:01 ?1488次閱讀
    無需安裝!在瀏覽器里就能玩轉(zhuǎn)<b class='flag-5'>ESP</b>32/<b class='flag-5'>ESP8266</b>,這個(gè)神器絕了!

    晶科鑫 | 國(guó)產(chǎn)26MHz晶振匹配Espressif(樂鑫) ESP8285/ESP8266芯片案例

    【應(yīng)用】國(guó)產(chǎn)26MHz頻率晶振應(yīng)用于物聯(lián)網(wǎng)WIFI物聯(lián)網(wǎng)模塊(串口轉(zhuǎn)WiFi模塊),Espressif(樂鑫)ESP8285/ESP8266芯片匹配測(cè)試OKESP8285其實(shí)是ESP8266的升級(jí)版
    的頭像 發(fā)表于 11-21 15:37 ?5009次閱讀
    晶科鑫 | 國(guó)產(chǎn)26MHz晶振匹配Espressif(樂鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    ESP8266ESP32開發(fā)板常見的2種下載方式

    ESP32和ESP8266是性價(jià)比很高而且使用較為廣泛的的Wi-Fi模塊,在物聯(lián)網(wǎng)(IoT)領(lǐng)域的DIY項(xiàng)目中可以首先考慮這2款產(chǎn)品。 兩款芯片都屬于32位處理器。ESP32是低功耗雙核80MHz
    的頭像 發(fā)表于 11-10 20:30 ?1434次閱讀
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32開發(fā)板常見的2種下載方式

    ESP8266ESP32開發(fā)板常見的2種下載方式

    協(xié)議,完整的 TCP/IP 協(xié)議棧以及藍(lán)牙協(xié)議棧。用戶可以使用這兩款模塊為現(xiàn)有的設(shè)備添加WIFI聯(lián)網(wǎng)功能或藍(lán)牙(ESP32),輕松的構(gòu)建獨(dú)立的網(wǎng)絡(luò)控制器和遠(yuǎn)程控制監(jiān)控設(shè)備。 ESP8266
    發(fā)表于 10-24 18:04

    請(qǐng)問一下我想用ESP8685直接替換ESP8266而不用寫程序,可以讓ESP8685直接通過之前ESP8266的外掛的flash運(yùn)行程序嗎

    請(qǐng)問一下我想用ESP8685直接替換ESP8266而不用寫程序,可以讓ESP8685直接通過之前ESP8266的外掛的flash運(yùn)行程序嗎
    發(fā)表于 09-17 12:06

    ESP8266】進(jìn)入透?jìng)髂J胶?,?shù)據(jù)間隔怎么調(diào)整,

    01.TCP客戶端用ESP8266透?jìng)髂J桨l(fā)送數(shù)據(jù)是10ms發(fā)送一次,(連續(xù)發(fā)送) 02.TCP服務(wù)器接收到的數(shù)據(jù)是200ms左右接收一次,數(shù)據(jù)未丟失,但是更新不及時(shí); 03.通過TCP調(diào)試助手已
    發(fā)表于 09-15 10:16

    STM32+esp8266連接機(jī)智云,上傳溫濕度數(shù)據(jù)并控制繼電器開關(guān)(平臺(tái)配置、代碼生成、代碼移植)

    本教程將詳細(xì)介紹如何將STM32微控制器與ESP8266Wi-Fi模塊連接到機(jī)智云平臺(tái),實(shí)現(xiàn)溫濕度數(shù)據(jù)的上傳與繼電器的遠(yuǎn)程控制。通過此過程,您將學(xué)會(huì)如何配置機(jī)智云平臺(tái),燒錄ESP8266
    的頭像 發(fā)表于 07-15 18:54 ?1511次閱讀
    STM32+<b class='flag-5'>esp8266</b>連接機(jī)智云,上傳溫濕度數(shù)據(jù)并<b class='flag-5'>控制</b>繼電器開關(guān)(平臺(tái)配置、代碼生成、代碼移植)

    ESP8266燒錄與機(jī)智云一鍵配網(wǎng)教程

    ESP8266模塊因其低成本和高性能,廣泛應(yīng)用于智能家居和工業(yè)自動(dòng)化等領(lǐng)域。機(jī)智云平臺(tái)提供了一鍵配網(wǎng)功能,簡(jiǎn)化了設(shè)備的聯(lián)網(wǎng)過程。本教程將詳細(xì)介紹如何使用ESP8266進(jìn)行燒錄,并通過機(jī)智云實(shí)現(xiàn)一鍵配
    的頭像 發(fā)表于 05-24 11:04 ?2448次閱讀
    <b class='flag-5'>ESP8266</b>燒錄與機(jī)智云一鍵配網(wǎng)教程
    平安县| 绥化市| 凌源市| 正蓝旗| 永新县| 荔浦县| 深州市| 海丰县| 彰化县| 泰和县| 藁城市| 宕昌县| 来安县| 大关县| 张家口市| 武强县| 当阳市| 故城县| 南汇区| 八宿县| 陇川县| 凤翔县| 泾川县| 东至县| 密云县| 裕民县| 昌平区| 遵化市| 宣城市| 吕梁市| 汤原县| 海宁市| 景德镇市| 苏尼特右旗| 广昌县| 叶城县| 上犹县| 罗平县| 娱乐| 古田县| 青神县|