RM新时代网站-首页

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

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

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

STM32的IIC庫函數(shù)使用誤區(qū)

CHANBAEK ? 來源:嵌入式隨筆 ? 作者:嵌入式隨筆 ? 2023-10-17 16:56 ? 次閱讀

HAL庫里有很多的IIC的庫函數(shù),比如

HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout)
HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout)
HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size)
HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size);
HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size);
HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size)等

這些函數(shù)參數(shù)需要使用發(fā)送的器件地址,數(shù)據(jù)地址和數(shù)據(jù)長度。具體的器件地址需要查詢數(shù)據(jù)手冊。很多原理圖會標(biāo)記出器件的地址(七位地址),如果不看手冊,直接使用此地址進(jìn)行讀寫的話往往是不行的。

這里的地址一般使用的是八位地址,IIC的器件手冊給的一般是七位地址比如下兩個圖的A2A1A0如果全都為0,七位地址就是1110000=0x70;

圖片

圖片

但是根據(jù)讀寫要將此地址左移一位,然后最低位賦值0或者1。此例子中,讀地址為11100001=0xE1;

寫地址為11100000=0xE0。使用庫函數(shù)的時候要使用這兩個地址,不要直接使用0x70這個地址。

以此地址為例可以進(jìn)行如下讀寫。

寫:
HAL_I2C_Master_Transmit_IT(&hi2c1,0xE0, Pointer_Register,1);
while (HAL_I2C_GetState(&hi2c1) != HAL_I2C_STATE_READY)
{
  ;
}
讀:
HAL_I2C_Master_Receive_IT(&hi2c1, 0xE1, pData,1);
while (HAL_I2C_GetState(&hi2c1) != HAL_I2C_STATE_READY)
{
  ;
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10895

    瀏覽量

    355722
  • IIC
    IIC
    +關(guān)注

    關(guān)注

    11

    文章

    300

    瀏覽量

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

    關(guān)注

    0

    文章

    177

    瀏覽量

    33970
  • HAL庫
    +關(guān)注

    關(guān)注

    1

    文章

    121

    瀏覽量

    6216
收藏 人收藏

    評論

    相關(guān)推薦

    STM32庫函數(shù)—點燈實驗_實驗三

    概述: 從最簡單的“點燈”實驗入手,涉及到STM32的最基礎(chǔ)最簡單的操作。 實驗?zāi)康模? 本實驗的目的很簡單,就是讓LED亮起來,并閃爍。 通過實驗了解STM32固件函數(shù)庫的使用方法。 本實驗用到以下4個
    發(fā)表于 02-22 15:45 ?11次下載

    stm32庫函數(shù)解釋

    庫函數(shù)的詳細(xì)介紹,很實用,本人菜鳥,正在慢慢學(xué)習(xí)。
    發(fā)表于 05-06 15:06 ?16次下載

    STM32庫函數(shù)代碼自動生成器V1.2

    stm32庫函數(shù)代碼自動生成器是STM32學(xué)習(xí)的小工具。 stm32庫函數(shù)代碼自動生成器可以根據(jù)你的配置生成相應(yīng)的
    發(fā)表于 06-17 17:55 ?0次下載

    STM32庫函數(shù)代碼自動生成器正式版

    STM32庫函數(shù)代碼自動生成器正式版,感興趣的可以看看。
    發(fā)表于 07-13 16:55 ?0次下載

    STM32庫函數(shù)代碼自動生成器正式版

    STM32庫函數(shù)代碼自動生成器正式版 STM32庫函數(shù)代碼自動生成器正式版
    發(fā)表于 07-25 18:52 ?0次下載

    介紹IIC總線特點與STM32 IIC:為ARM初學(xué)者導(dǎo)航(11)

    條件 4、 DMA請求 六 STM32 IIC中斷 七 實例工程講解 1、IIC庫函數(shù)講解 2、IIC例程流程詳細(xì)分析講解及演示
    的頭像 發(fā)表于 07-02 10:07 ?5869次閱讀

    STM32F10X庫函數(shù)合集免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STM32F10x庫函數(shù)合集免費下載。
    發(fā)表于 10-15 08:00 ?27次下載
    <b class='flag-5'>STM32</b>F10X<b class='flag-5'>庫函數(shù)</b>合集免費下載

    STM32 IAR的庫函數(shù)資料免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STM32 IAR的庫函數(shù)資料免費下載。
    發(fā)表于 03-27 09:48 ?43次下載
    <b class='flag-5'>STM32</b> IAR的<b class='flag-5'>庫函數(shù)</b>資料免費下載

    STM32的標(biāo)準(zhǔn)例程庫函數(shù)資料合集免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STM32的標(biāo)準(zhǔn)例程庫函數(shù)資料合集免費下載。
    發(fā)表于 12-28 08:00 ?31次下載

    STM32F4 HAL庫函數(shù)說明下載

    STM32F4 HAL庫函數(shù)說明下載
    發(fā)表于 05-26 09:27 ?78次下載

    stm32下標(biāo)準(zhǔn)庫函數(shù)與HAL庫函數(shù)編程方式的差異

    stm32下標(biāo)準(zhǔn)庫函數(shù)與HAL庫函數(shù)編程方式的差異標(biāo)準(zhǔn)庫函數(shù)HAL庫函數(shù)標(biāo)準(zhǔn)庫函數(shù)與HAL
    發(fā)表于 12-09 14:21 ?15次下載
    <b class='flag-5'>stm32</b>下標(biāo)準(zhǔn)<b class='flag-5'>庫函數(shù)</b>與HAL<b class='flag-5'>庫函數(shù)</b>編程方式的差異

    基于標(biāo)準(zhǔn)庫函數(shù)與基于HAL庫函數(shù)stm32編程方式對比

    以實例程序(串口通信),分析基于標(biāo)準(zhǔn)庫函數(shù)與基于HAL庫函數(shù)stm32編程方式的差異一、基于標(biāo)準(zhǔn)庫函數(shù)stm32編程方式二、基于HAL
    發(fā)表于 12-28 19:09 ?30次下載
    基于標(biāo)準(zhǔn)<b class='flag-5'>庫函數(shù)</b>與基于HAL<b class='flag-5'>庫函數(shù)</b>的<b class='flag-5'>stm32</b>編程方式對比

    STM32庫函數(shù)開發(fā)-GPIO

    2021-01-11 學(xué)習(xí)日志STM32f1庫函數(shù)開發(fā)學(xué)習(xí)實戰(zhàn)一 · I/O口1. 文件夾結(jié)構(gòu)2. 配置細(xì)節(jié) · 從寄存器到庫函數(shù)3. 跑馬燈4. 按鍵輸入STM32f1
    發(fā)表于 01-13 16:17 ?14次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>庫函數(shù)</b>開發(fā)-GPIO

    CH32和stm32庫函數(shù)一樣嗎?

    CH32和stm32庫函數(shù)一樣嗎? STM32是ST公司推出的一款32位微控制器,其擁有強大的性能及豐富的外設(shè)功能,實現(xiàn)了嵌入式應(yīng)用的功能。而在STM32的開發(fā)中,
    的頭像 發(fā)表于 08-16 11:15 ?1012次閱讀

    STM32庫函數(shù)SystemInit()詳解

    STM32庫函數(shù)SystemInit()詳解
    的頭像 發(fā)表于 09-18 15:45 ?4013次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>庫函數(shù)</b>SystemInit()詳解
    RM新时代网站-首页