哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

如何配置硬件IIC

正點(diǎn)原子 ? 2022-03-31 15:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

如何配置硬件IIC

IIC英文全稱(chēng):Inter Integrated Circuit,集成電路總線(xiàn),是飛利浦公司在八十年代開(kāi)發(fā)的一種串行、同步、半雙工總線(xiàn)。

IIC總線(xiàn)協(xié)議無(wú)非就是幾樣?xùn)|西:起始信號(hào)、停止信號(hào)、應(yīng)答信號(hào)、以及數(shù)據(jù)有效性。大家學(xué)習(xí)了正點(diǎn)原子的IIC實(shí)驗(yàn),應(yīng)該很了解IIC時(shí)序。正點(diǎn)原子使用的是軟件模擬IIC,也就是用IO口模擬出IIC時(shí)序去通信。使用硬件IIC,就可以不用管時(shí)序信號(hào),配置好之后就可以產(chǎn)生時(shí)序。雖說(shuō)ST的硬件IIC很雞肋,但是某些方面還是比軟件模擬IIC稍微強(qiáng)一點(diǎn)。



下面列出一個(gè)硬件IIC和軟件IIC的對(duì)比表


e11dde04-af85-11ec-82f6-dac502259ad0.png





軟件IIC整個(gè)流程很清晰,假如出了bug,你能很快找到問(wèn)題,硬件IIC就需要?jiǎng)佑肈S100示波器去看波形,波形的查看教程可以參考以下推文

嵌入式工程師必備技能—如何使用示波器查看IIC波形》

https://mp.weixin.qq.com/s/lnSORSbXeNJe-QVwW0EVbg


其實(shí)很多時(shí)候是在管腳上考量使用軟件IIC。硬件IIC雖然被聽(tīng)說(shuō)吐槽過(guò)千百遍,但是有些人還是有興趣想使用STM32的IIC外設(shè)的,那么本文就教一下大家使用硬件IIC,側(cè)重于使用(這里使用的是F1 HAL庫(kù))。


首先,先看HAL庫(kù)給IIC定義好的結(jié)構(gòu)體,這里主要講解IIC初始化結(jié)構(gòu)體

e12c108c-af85-11ec-82f6-dac502259ad0.png

ClockSpeedIIC的傳輸速率,主要看從機(jī),從機(jī)AT24C02是最大為400kHz,低于400kHz即可。

DutyCycleSCL線(xiàn)時(shí)鐘占空比,就是低電平與高電平的比值,沒(méi)有嚴(yán)格限制,選擇2:1或者16:9即可。

OwnAddress1:STM32的IIC設(shè)備的自身地址,掛載在IIC總線(xiàn)上的器件每一個(gè)都有自己唯一地址,作為主機(jī)也不例外。特別注意:這里地址的設(shè)置不要跟從機(jī)一樣即可。

AddressingMode地址的位數(shù)是使用7位還是10位,這要看從機(jī)了。對(duì)于A(yíng)T24C02來(lái)說(shuō),直接使用7位。

DualAddressMode用來(lái)配置是否支持雙設(shè)備地址,沒(méi)有用到可以不配置。

OwnAddress2STM32的IIC設(shè)備的自身地址,是否有效取決于DualAddressMode成員的設(shè)置。

GeneralCallMode廣播呼叫模式,作為從機(jī)時(shí)使用,通常用不上。

NoStrethMode時(shí)鐘線(xiàn)延長(zhǎng),也是作為從機(jī)時(shí)使用的,通常用不上。




在IIC實(shí)驗(yàn)例程中,編寫(xiě)hwiic_init如下:


e13b6938-af85-11ec-82f6-dac502259ad0.png

這里是調(diào)用HAL_I2C_Init函數(shù)對(duì)IIC進(jìn)行初始化,在IIC的初始化回調(diào)函數(shù)中就要使能I2C1時(shí)鐘以及對(duì)相關(guān)引腳進(jìn)行初始化,特別注意GPIO口的模式(復(fù)用開(kāi)漏輸出),這部分代碼比較簡(jiǎn)單就不列出來(lái)了。




初始化完成后,使用HAL庫(kù)提供的IIC發(fā)送和接收函數(shù),函數(shù)如下:

e147a9fa-af85-11ec-82f6-dac502259ad0.png

hi2cIIC的句柄結(jié)構(gòu)體地址。

DevAddress從機(jī)的設(shè)備地址,這里并不是通訊地址。

MemAddress要寫(xiě)入的地址。

MemAddSize地址的長(zhǎng)度。

pData要寫(xiě)入的數(shù)據(jù)的地址。

Size寫(xiě)入數(shù)據(jù)的個(gè)數(shù)

Timeout函數(shù)執(zhí)行的超時(shí)時(shí)間。




以往的AT24C02的寫(xiě)操作函數(shù)和讀操作函數(shù),函數(shù)體內(nèi)一堆代碼,現(xiàn)在只是幾行代碼。

at24c02寫(xiě)一字節(jié)函數(shù)代碼如下:

e1677b9a-af85-11ec-82f6-dac502259ad0.png

at24c02讀一字節(jié)函數(shù)代碼如下:

e1764a4e-af85-11ec-82f6-dac502259ad0.png

假如說(shuō)直接用HAL_I2C_Mem_Write來(lái)編寫(xiě)連續(xù)寫(xiě)函數(shù),就有頁(yè)寫(xiě)限制,也就是最多8字節(jié),當(dāng)你寫(xiě)入的數(shù)據(jù)大于8字節(jié)時(shí),就會(huì)出現(xiàn)錯(cuò)誤了。


所以編寫(xiě)at24c02的連續(xù)寫(xiě)函數(shù)最好就是調(diào)用at24c02_write_one_byte這個(gè)函數(shù)接口。


最終可以比對(duì)一下相同數(shù)據(jù)量的傳輸下,軟件模擬IIC和硬件IIC的速度對(duì)比。


硬件IIC的配置使用還是挺簡(jiǎn)單的,速度上面還是比模擬IIC快,假如說(shuō)是驅(qū)動(dòng)OLED屏幕的話(huà),可以試用一下硬件IIC提高一下刷新率,得到更好的顯示效果。

e18df0a4-af85-11ec-82f6-dac502259ad0.gif

END

e19b49a2-af85-11ec-82f6-dac502259ad0.gif

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

    關(guān)注

    6078

    文章

    45570

    瀏覽量

    673388
  • 嵌入式
    +關(guān)注

    關(guān)注

    5209

    文章

    20629

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    如何使用 VisionFive IIC 讀取 SHTC3 數(shù)據(jù)?

    使用 VisionFive IIC 讀取 SHTC3 數(shù)據(jù)
    發(fā)表于 03-27 07:09

    【教程】CAN總線(xiàn)數(shù)據(jù)過(guò)濾太難?ECAN-E02硬件+軟件濾波器配置實(shí)戰(zhàn)指南

    備與電腦連入同一網(wǎng)絡(luò)在瀏覽器輸入設(shè)備IP進(jìn)入網(wǎng)絡(luò)配置界面如果不知道設(shè)備IP,可以使用上位機(jī)進(jìn)行搜索二、硬件濾波器模式詳解硬件濾波器默認(rèn)開(kāi)啟,但不進(jìn)行任何過(guò)濾。接收過(guò)濾
    的頭像 發(fā)表于 02-10 19:33 ?1526次閱讀
    【教程】CAN總線(xiàn)數(shù)據(jù)過(guò)濾太難?ECAN-E02<b class='flag-5'>硬件</b>+軟件濾波器<b class='flag-5'>配置</b>實(shí)戰(zhàn)指南

    【瑞薩RA × Zephyr開(kāi)發(fā)板評(píng)測(cè)】+模擬IIC實(shí)現(xiàn)OLED輸出(與硬件IIC輸出的失敗經(jīng)驗(yàn))

    無(wú)需額外工具即可編寫(xiě)/調(diào)試程序。此外,通過(guò)Arduino Uno和Pmod?接口,包括對(duì)微控制器所有引腳的標(biāo)準(zhǔn)和通孔訪(fǎng)問(wèn)等,它具有很高的可擴(kuò)展性。 按照上圖進(jìn)行Oled接線(xiàn),首先使用IIC硬件接口
    發(fā)表于 01-19 22:23

    RA MCU眾測(cè)寶典 | IIC之【RA2E1】IIC通信的OLED顯示

    “RAMCU眾測(cè)寶典”IIC專(zhuān)題上線(xiàn)啦!這次,瑞薩嵌入式小百科將和大家一起聚焦【瑞薩RA2E1】開(kāi)發(fā)板,一步步玩轉(zhuǎn)IIC通信的OLED顯示。從IIC協(xié)議的核心原理、FSP中I2CMaster的
    的頭像 發(fā)表于 01-01 10:04 ?3096次閱讀
    RA MCU眾測(cè)寶典 | <b class='flag-5'>IIC</b>之【RA2E1】<b class='flag-5'>IIC</b>通信的OLED顯示

    智能雙卡設(shè)計(jì)實(shí)戰(zhàn)指南:硬件電路與軟件配置詳解!

    在智能雙卡設(shè)計(jì)中,硬件電路的可靠性與軟件配置的精準(zhǔn)性直接決定雙卡功能的穩(wěn)定性。本文基于實(shí)際項(xiàng)目經(jīng)驗(yàn),詳細(xì)拆解硬件設(shè)計(jì)中SIM卡供電電路、時(shí)鐘信號(hào)匹配及卡槽復(fù)用設(shè)計(jì)的實(shí)現(xiàn)細(xì)節(jié),并同步講解軟件層的初始化
    的頭像 發(fā)表于 12-16 15:13 ?635次閱讀
    智能雙卡設(shè)計(jì)實(shí)戰(zhàn)指南:<b class='flag-5'>硬件</b>電路與軟件<b class='flag-5'>配置</b>詳解!

    通信協(xié)議IIC與SPI最全對(duì)比分析

    的一些關(guān)鍵點(diǎn)。 總線(xiàn)拓?fù)浣Y(jié)構(gòu)信號(hào)路由硬件資源耗費(fèi) IIC只需兩根信號(hào)線(xiàn),而標(biāo)準(zhǔn)SPI至少四根信號(hào),如果有多個(gè)從設(shè)備,信號(hào)需要更多。一些SPI變種雖然只使用三根線(xiàn)——SCLK、SS和雙向的MISO
    發(fā)表于 12-10 06:04

    英諾達(dá)亮相IIC Shenzhen 2025

    2025年11月25日,國(guó)際集成電路展覽會(huì)暨研討會(huì)(IIC Shenzhen)在深圳舉辦,英諾達(dá)創(chuàng)始人及CEO王琦博士應(yīng)邀出席,并于“全球CEO峰會(huì)”發(fā)表題為《低功耗設(shè)計(jì)新范式:突破算力芯片能效瓶頸》的主旨演講,引發(fā)行業(yè)廣泛關(guān)注。
    的頭像 發(fā)表于 12-03 10:53 ?707次閱讀

    【瑞薩RA6E2】硬件IIC驅(qū)動(dòng)九軸傳感器與OLED顯示

    IIC_Write(OLED_ADDR, OLED_CMD, 0xDA);// 設(shè)置COM硬件配置 IIC_Write(OLED_ADDR, OLED_CMD, 0x12);//
    發(fā)表于 11-27 02:18

    基于hbirdv2-sdk的iic 0.96寸lcd調(diào)試

    , 讀寫(xiě)數(shù)據(jù)函數(shù), lcd初始化, lcd顯示封裝函數(shù) iic.c: 硬件iic接口相關(guān)的定義 iic.h: iic
    發(fā)表于 10-30 06:20

    iic中只設(shè)置了時(shí)鐘和數(shù)據(jù)引腳沒(méi)有配置那個(gè)端口,rtt是怎么知道在那個(gè)端口上進(jìn)行iic通信的?

    用的5.2.0版本配置iic的時(shí)鐘和數(shù)據(jù)引腳沒(méi)有配置端口,系統(tǒng)是怎么判斷使用的那個(gè)端口的那個(gè)引腳開(kāi)始了通信呢?在rt——thread中需要us的延時(shí)么?那個(gè)大佬解答一下啊,剛接觸這個(gè)東西,感謝感謝
    發(fā)表于 09-26 07:26

    硬件定時(shí)器如何配置固定頻率?

    需求是:以25.6kHz操作引腳電平,系統(tǒng)主頻為160MHZ,STM32F429 按照文檔里“HWTIMER 設(shè)備”開(kāi)啟了硬件定時(shí)器,但只能配置時(shí)間,按時(shí)間換算我要的這個(gè)頻率為 39.0625us
    發(fā)表于 09-26 07:12

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

    微五科技 CF5010RBT60 測(cè)評(píng):硬件 IIC 驅(qū)動(dòng) OLED 的流暢體驗(yàn) 作為一款基于高性能 RISC-V 內(nèi)核 (CF5010RBT60, 160MHz) 的開(kāi)發(fā)板,微五科技
    發(fā)表于 08-08 11:01

    硬件調(diào)試:JLink 驅(qū)動(dòng)配置與調(diào)試技巧

    摘要: 本文深入探討了 JLink 調(diào)試器在嵌入式系統(tǒng)硬件調(diào)試中的應(yīng)用,詳細(xì)闡述了 JLink 驅(qū)動(dòng)配置的方法以及硬件調(diào)試技巧。本文以國(guó)科安芯的AS32系列MCU芯片為例,通過(guò)分析 JLink
    的頭像 發(fā)表于 06-12 23:20 ?1878次閱讀
    <b class='flag-5'>硬件</b>調(diào)試:JLink 驅(qū)動(dòng)<b class='flag-5'>配置</b>與調(diào)試技巧

    ADL5308可以通過(guò)軟件和硬件配置的參數(shù),配置的優(yōu)先級(jí)是什么?

    你好,麻煩問(wèn)一下ADL5308可以通過(guò)軟件和硬件配置的參數(shù),配置的優(yōu)先級(jí)是什么?有沒(méi)有更詳細(xì)的寄存器配置手冊(cè),截距配置的步進(jìn)是多少?
    發(fā)表于 06-10 06:39

    IIC接口的IIC_SCL和IIC_SDA引腳做普通GPIO,程序啟動(dòng)不起來(lái)怎么解決?

    想用IIC接口的IIC_SCL和IIC_SDA引腳做普通GPIO,兩個(gè)引腳對(duì)應(yīng)的是GPIO58和GPIO59,更改代碼將設(shè)置為普通GPIO引腳模式后,程序啟動(dòng)不起來(lái)。問(wèn):這種情況如何解決,官方支持這種應(yīng)用嗎?
    發(fā)表于 05-06 08:59
    文昌市| 耒阳市| 桂平市| 噶尔县| 清远市| 太和县| 晋州市| 福贡县| 确山县| 镶黄旗| 海晏县| 巴东县| 安平县| 武鸣县| 徐汇区| 贵德县| 济阳县| 星座| 县级市| 金华市| 泾川县| 平和县| 五家渠市| 简阳市| 林西县| 鹤峰县| 和硕县| 双鸭山市| 日土县| 垣曲县| 建始县| 五家渠市| 高邮市| 永川市| 渭源县| 镇赉县| 湘乡市| 壤塘县| 疏附县| 佛学| 东台市|