chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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ī)愛(ài)好者 ? 來(lái)源:?jiǎn)纹瑱C(jī)愛(ài)好者 ? 2019-12-06 15:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

注: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

通過(guò)這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管腳

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

i2c_master_gpio_init();

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

用過(guò)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中寫好了。換句話說(shuō),我們只需要像堆積木一樣,按照特定的順序把這些函數(shù)擺下來(lái)就行了。

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

如何演示?

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

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

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

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

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

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

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

程序里使用了一個(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ī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OLED
    +關(guān)注

    關(guān)注

    121

    文章

    6309

    瀏覽量

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

    關(guān)注

    17

    文章

    1835

    瀏覽量

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

    關(guān)注

    3

    文章

    4400

    瀏覽量

    66365

原文標(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)推薦

    esp8266 udp server 端口監(jiān)聽錯(cuò)誤的原因?

    1、使用esp8266 at組件+sal socket實(shí)現(xiàn)使用udpserver_sample.c demo代碼 udp server,通信失敗 2、跟蹤代碼發(fā)現(xiàn) packegs 里面
    發(fā)表于 09-23 07:03

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

    請(qǐng)問(wèn)一下我想用ESP8685直接替換ESP8266而不用寫程序,可以讓ESP8685直接通過(guò)之前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.通過(guò)TCP調(diào)試助手已
    發(fā)表于 09-15 10:16

    【微五科技CF5010RBT60開發(fā)板試用體驗(yàn)】硬件IIC點(diǎn)亮OLED屏幕

    CF5010RBT60 憑借其豐富的外設(shè)資源和親民的價(jià)格,吸引了眾多嵌入式開發(fā)者。本次測(cè)評(píng)聚焦其硬件 IIC 接口驅(qū)動(dòng) SSD1306 OLED 屏幕的實(shí)際表現(xiàn),帶你體驗(yàn)“硬實(shí)力”帶來(lái)的流暢顯示效果。 一、硬件
    發(fā)表于 08-08 11:01

    【RA-Eco-RA6M4開發(fā)板評(píng)測(cè)】——4.使用ESP8266獲取任意城市的天意預(yù)報(bào)

    手頭上有一個(gè)ESP8266,閑置了很久,突然想起來(lái)可以和RA6M4開發(fā)板連接起來(lái),使用AT指令來(lái)獲取網(wǎng)絡(luò)天氣預(yù)報(bào),于是就把它們連接起來(lái)。就有了這個(gè)帖子。 開始創(chuàng)建工程,打開 RA smart 配置
    發(fā)表于 07-23 19:50

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

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

    單片機(jī)實(shí)例項(xiàng)目:ESP8266串口WIFI

    單片機(jī)實(shí)例項(xiàng)目:ESP8266串口WIFI,推薦下載!
    發(fā)表于 06-03 21:01

    【RA-Eco-RA4M2開發(fā)板評(píng)測(cè)】使用RA4M2和ESP8266實(shí)現(xiàn)MQTT協(xié)議上傳傳感器數(shù)據(jù)到云服務(wù)器并反向點(diǎn)燈控制

    馬上就到RA4M2開發(fā)板評(píng)測(cè)的結(jié)尾了,今天給瑞薩論壇線上最具創(chuàng)意的一篇帖子,通過(guò)RA4M2開發(fā)板,和ESP8266 WIFI模塊,然后通過(guò)手機(jī)上的MQTTOOL來(lái)實(shí)現(xiàn)手機(jī)控制RA4M2遠(yuǎn)程點(diǎn)燈,即使
    發(fā)表于 05-29 15:29

    基于STM32 HAL庫(kù)與標(biāo)準(zhǔn)庫(kù)的esp8266接入機(jī)智云方案(二)

    在《基于STM32HAL庫(kù)與標(biāo)準(zhǔn)庫(kù)的esp8266接入機(jī)智云方案(一)》中,我們?cè)敿?xì)介紹了硬件連接和機(jī)智云客戶端的創(chuàng)建。本篇將重點(diǎn)講解如何下載代碼、分析下載的代碼,并直接使用這些代碼連接機(jī)智云。同時(shí)
    的頭像 發(fā)表于 05-28 18:02 ?927次閱讀
    基于STM32 HAL庫(kù)與標(biāo)準(zhǔn)庫(kù)的<b class='flag-5'>esp8266</b>接入機(jī)智云方案(二)

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

    ESP8266模塊因其低成本和高性能,廣泛應(yīng)用于智能家居和工業(yè)自動(dòng)化等領(lǐng)域。機(jī)智云平臺(tái)提供了一鍵配網(wǎng)功能,簡(jiǎn)化了設(shè)備的聯(lián)網(wǎng)過(guò)程。本教程將詳細(xì)介紹如何使用ESP8266進(jìn)行燒錄,并通過(guò)機(jī)智云實(shí)現(xiàn)一鍵配
    的頭像 發(fā)表于 05-24 11:04 ?1170次閱讀
    <b class='flag-5'>ESP8266</b>燒錄與機(jī)智云一鍵配網(wǎng)教程

    【RA-Eco-RA4M2開發(fā)板評(píng)測(cè)】RA4M2 + ESP8266獲取城市天氣預(yù)報(bào)(一)

    的天氣預(yù)報(bào)。 ESP8266是一款WiFi模塊,它具有強(qiáng)大的網(wǎng)絡(luò)連接功能,可以輕松地連接到互聯(lián)網(wǎng)。將使用ESP8266模塊來(lái)獲取天氣數(shù)據(jù),并將其發(fā)送給RA4M2 控制器。通過(guò)AT指令來(lái)控制
    發(fā)表于 05-02 14:28

    零知開源——ESP8266+MPU6050 實(shí)現(xiàn)運(yùn)動(dòng)姿態(tài)檢測(cè)

    零知ESP8266的I2C通信 ? ? ? ?在運(yùn)動(dòng)姿態(tài)檢測(cè)、機(jī)器人平衡控制、VR頭戴設(shè)備等應(yīng)用中,MPU6050(三軸加速度計(jì)+三軸陀螺儀)是一個(gè)常見的姿態(tài)傳感器。而ESP8266作為一款低功耗
    的頭像 發(fā)表于 02-20 17:54 ?2555次閱讀
    零知開源——<b class='flag-5'>ESP8266</b>+MPU6050 實(shí)現(xiàn)運(yùn)動(dòng)姿態(tài)檢測(cè)

    ESP8266筆記-07.ESP8266ESP TOUCH

    可以從Smart Config的官方文檔中可以看到ESP8266支持4種SmartConfig模式,其實(shí)是3種,有一種是混合的。 我們先采用第一種協(xié)議,也就是ESPTOUCH協(xié)議進(jìn)行連接,具體的代碼
    發(fā)表于 12-30 10:37

    ESP8266筆記-05.ESP8266 WIFI的使用

    ESP8266是怎么火起來(lái)的?毫無(wú)疑問(wèn)就是他把WIFI模塊的價(jià)格成功的打了下來(lái),在我第一次看到ESP8266僅僅10元成本的開發(fā)板竟然可以連接WIFI時(shí),知道對(duì)我幼小的心靈造成多大的震撼嗎?一度帶
    發(fā)表于 10-31 18:33

    esp8266加入到c51單片機(jī)單通道程序怎么寫

    要將ESP8266模塊加入到C51單片機(jī)的單通道程序中,您需要了解如何通過(guò)串行通信(UART)與ESP8266進(jìn)行通信。以下是如何實(shí)現(xiàn)這一點(diǎn)的步驟和示例代碼。 步驟 1:硬件連接 首先,您需要
    的頭像 發(fā)表于 10-18 11:32 ?1977次閱讀