色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ESP8266_09基于IIC控制的OLED屏幕

單片機愛好者 ? 來源:單片機愛好者 ? 2019-12-06 15:12 ? 次閱讀

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

從第一節到第九節(也就是這一節),說的都是ESP8266的基本應用,例如GPIO、定時器、中斷、PWM等等。從后面開始,將陸續說一下基于網絡的用法,畢竟這是個聯網的芯片,還是要聯網玩,才更能體現它的特點。但偶爾,我可能還會說一下它的硬件的基本用法,例如ADC、SPI等,看情況吧,時間富裕與否~

好,這一節,主要說一下ESP8266上面的IIC接口。是的,它有SPI接口,也有IIC接口。但IIC接口是使用GPIO模擬的,也就是說,你可以使用8266上的任意兩個GPIO模擬出IIC接口來。同時,每個管腳內部都有上拉電阻,無需外接。

注:ESP8266只能用做IIC主設備,不能用做從設備。

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

不用,官方的SDK已經給我們寫好了整個的IIC庫,只要配置好要用的管腳,直接調用函數即可,例如:

i2c_master_start(void);

i2c_master_stop(void);

i2c_master_writeByte(uint8 wrdata);

如何使用?很簡單,分四步:

1 添加相關源文件和頭文件

把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個宏定義,配置好IIC接口要用的時鐘腳和數據腳,我這里想用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

關于管腳的名字,主要看eagle_soc.h文件。

3 初始化IIC管腳

通過下面的函數實現:

i2c_master_gpio_init();

4 開始寫數據

用過24C02的童鞋都知道,IIC的寫操作,前后就幾步:開始信號、寫入設備地址、等待應答、寫入存儲地址、等待應答、寫入數據、結束信號。這里結合SDK中的例程IOT_DEMO中的IIC代碼,實現寫數據的函數如下:

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();

}

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

so,是不是很簡單?

如何演示?

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

看起來不難,當我翻開我的液晶背面的時候,發現是這樣:

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

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

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

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • OLED
    +關注

    關注

    119

    文章

    6203

    瀏覽量

    224329
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1707

    瀏覽量

    91701
  • 函數
    +關注

    關注

    3

    文章

    4333

    瀏覽量

    62708

原文標題:ESP8266_09基于IIC控制的OLED屏幕

文章出處:【微信號:gh_dae0718828df,微信公眾號:gh_dae0718828df】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ESP8266 太空人動畫的 OLED 顯示

    ESP8266 太空人動畫的 OLED 顯示
    的頭像 發表于 10-08 15:06 ?294次閱讀
    <b class='flag-5'>ESP8266</b> 太空人動畫的 <b class='flag-5'>OLED</b> 顯示

    ESP8266 通過 MQTT 協議實現 LED 的遠程控制

    本文簡要介紹了搭建 EMQX 服務器實現基于 MQTT 協議遠程控制 NodeMCU ESP8266 板載 LED 的解決方案。
    的頭像 發表于 09-25 09:11 ?2057次閱讀
    <b class='flag-5'>ESP8266</b> 通過 MQTT 協議實現 LED 的遠程<b class='flag-5'>控制</b>

    STM32 ESP8266阿里云鏈接源碼

    stm32F103C8T6 ESP8266 物聯網電表 登錄阿里云
    發表于 08-29 14:21 ?6次下載

    esp32和esp8266代碼共用嗎

    本文將介紹ESP32和ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯網技術的飛速發展,越來越多的智能設備開始進入我們的生活。其中,ESP32和
    的頭像 發表于 08-19 18:23 ?1189次閱讀

    esp8266esp32區別是什么

    以下是關于ESP8266ESP32的主要區別: 處理器和架構 : ESP8266 :使用一個Tensilica L106 80MHz的處理器,屬于Xtensa架構。 ESP32 :使
    的頭像 發表于 08-19 18:16 ?5509次閱讀

    ESP8266需要燒錄固件庫嘛

    需要。ESP8266是一款非常流行的Wi-Fi模塊,廣泛應用于物聯網項目中。它具有低成本、低功耗、易于編程等特點,因此受到了許多開發者的喜愛。在開發ESP8266項目時,燒錄固件庫是一個非常重要
    的頭像 發表于 08-19 17:30 ?930次閱讀

    esp8266不燒錄可以使用嗎

    ESP8266是一款非常流行的Wi-Fi模塊,廣泛應用于物聯網項目中。然而,如果不進行燒錄,ESP8266將無法正常工作。 1. ESP8266簡介 ESP8266是一款由Espres
    的頭像 發表于 08-19 17:28 ?860次閱讀

    esp8266wifi模塊怎么連接手機

    ESP8266 WiFi模塊連接手機主要可以通過兩種方式實現: 通過路由器連接(STA模式)和直接作為熱點連接(AP模式) 。以下是兩種連接方式的步驟: 一、通過路由器連接(STA模式) 配置
    的頭像 發表于 08-19 17:27 ?3085次閱讀

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環境溫濕度數據及 OLED顯示

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環境溫濕度數據及 OLED顯示
    的頭像 發表于 08-13 18:04 ?1221次閱讀
    Arduino Nano 和 NodeMCU <b class='flag-5'>ESP8266</b> 讀取 DHT11 環境溫濕度數據及 <b class='flag-5'>OLED</b>顯示

    ESP8266-01如何更新固件?

    您好,我有 ESP8266-01,我需要通過 Arduino 更新固件......我有這個版本......esp_iot_sdk_v1.4.0_15_09_18.zip 可以給任何鏈接重言同義嗎?
    發表于 07-22 07:33

    ESP8266如何實現進入Light Sleep mode時關掉屏幕顯示?

    我們正在用ESP8266做一款WIFI手表,主要用來接收微信公眾號和APP端的消息。我們采用了Light Sleep模式,請問如何實現進入Light Sleep mode時關掉屏幕顯示,網絡自動喚醒后,開啟屏幕顯示
    發表于 07-11 08:07

    ESP8266網絡天氣時鐘OLED顯示

    基于ESP8266實現網絡獲取天氣和時鐘并OLED顯示
    的頭像 發表于 06-28 04:46 ?1217次閱讀
    <b class='flag-5'>ESP8266</b>網絡天氣時鐘<b class='flag-5'>OLED</b>顯示

    國產低成本Wi-Fi SoC解決方案芯片ESP8266ESP8285對比差異

    ESP8266ESP8285對比差異 ESP8285相當于在ESP8266基礎上多加了1/2MB Flash, ESP8285與
    的頭像 發表于 05-17 11:44 ?1369次閱讀
    國產低成本Wi-Fi SoC解決方案芯片<b class='flag-5'>ESP8266</b>與<b class='flag-5'>ESP</b>8285對比差異

    使用Wi-Fi ESP8266方案模組接入云平臺

    ESP8266的模塊芯片是基于無線通信協議的UARTWi-Fi透傳模塊芯片,支持802.11b/g/n的無線標準,并帶有三種可選擇的工作模式。ESP8266模塊的控制是通過AT指令的形式控制
    的頭像 發表于 05-10 08:20 ?1871次閱讀
    使用Wi-Fi <b class='flag-5'>ESP8266</b>方案模組接入云平臺

    STM32、ESP8266與MQTT連接阿里云物聯網的串口通信異常解析

    STM32、ESP8266與MQTT協議連接阿里云物聯網平臺時常見的串口通信異常介紹 在構建物聯網應用時,STM32、ESP8266與MQTT協議的結合是實現設備與網絡間穩定通信的關鍵。然而,在連接
    的頭像 發表于 04-19 17:19 ?1477次閱讀
    主站蜘蛛池模板: 在线 中文字幕| 国产精品久久久久久久久齐齐| 国自产精品手机在线视频| 亚洲国产综合久久精品| 久久99视频免费| 91桃色污无限免费看| 欧洲馒头大肥p| 国产欧美精品一区二区三区-老狼 国产欧美精品国产国产专区 | 九色PORNY真实丨国产免费| 中文字幕亚洲乱码熟女在线萌芽| 女人张腿让男人桶免费| 国产成人综合高清在线观看| 伊人国产精品| 日本特殊精油按摩| 精品蜜臀AV在线天堂| WWW国产精品内射熟女| 亚洲精品人成电影网| 暖暖视频免费观看视频| 国产精品一区二区AV97| 1788vv视频| 小sao货水好多真紧h的视频| 毛片无码免费无码播放| 国产乱国产乱老熟300部视频 | 精品免费久久久久久影院| av影音先锋影院男人站| 亚洲mv在线观看| 内射白浆一区二区在线观看| 国产精品永久在线| caoporn超碰在线| 亚洲中文日韩日本在线视频| 日日干夜夜爽| 蜜桃成熟时2电影免费观看d| 国产又粗又黄又爽的大片| SM脚奴调教丨踩踏贱奴| 夜夜躁婷婷AV蜜桃视频| 少妇内射视频播放舔大片| 美女脱内衣裸身尿口露出来| 含羞草完整视频在线播放免费| 边摸边吃奶边做下面视频| 中文字幕亚洲男人的天堂网络| 香蕉久久av一区二区三区|