HAL库里有很多的IIC的库函数,比如
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)等
这些函数参数需要使用发送的器件地址,数据地址和数据长度。具体的器件地址需要查询数据手册。很多原理图会标记出器件的地址(七位地址),如果不看手册,直接使用此地址进行读写的话往往是不行的。
这里的地址一般使用的是八位地址,IIC的器件手册给的一般是七位地址比如下两个图的A2A1A0如果全都为0,七位地址就是1110000=0x70;
但是根据读写要将此地址左移一位,然后最低位赋值0或者1。此例子中,读地址为11100001=0xE1;
写地址为11100000=0xE0。使用库函数的时候要使用这两个地址,不要直接使用0x70这个地址。
以此地址为例可以进行如下读写。
写:
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)
{
;
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
STM32
+关注
关注
2270文章
10896浏览量
355786 -
IIC
+关注
关注
11文章
300浏览量
38315 -
库函数
+关注
关注
0文章
177浏览量
33974 -
HAL库
+关注
关注
1文章
121浏览量
6220
发布评论请先 登录
相关推荐
STM32库函数—点灯实验_实验三
概述:
从最简单的“点灯”实验入手,涉及到STM32的最基础最简单的操作。
实验目的:
本实验的目的很简单,就是让LED亮起来,并闪烁。
通过实验了解STM32固件函数库的使用方法。
本实验用到以下4个
发表于 02-22 15:45
•11次下载
基于标准库函数与基于HAL库函数的stm32编程方式对比
以实例程序(串口通信),分析基于标准库函数与基于HAL库函数的stm32编程方式的差异一、基于标准库函数的stm32编程方式二、基于HAL
发表于 12-28 19:09
•30次下载
STM32库函数开发-GPIO
2021-01-11 学习日志STM32f1库函数开发学习实战一 · I/O口1. 文件夹结构2. 配置细节 · 从寄存器到库函数3. 跑马灯4. 按键输入STM32f1
发表于 01-13 16:17
•14次下载
STM32F103使用(3.5)库函数新建工程
意法半导体的STM32系列都支持库函数编程,库函数比常规的寄存器方式编程更加好移植,特别是项目需要在几个系列芯片上移植,使用库函数编程,底层的配置都不用改。而业务逻辑本身就是通用的,所
CH32和stm32的库函数一样吗?
CH32和stm32的库函数一样吗? STM32是ST公司推出的一款32位微控制器,其拥有强大的性能及丰富的外设功能,实现了嵌入式应用的功能。而在STM32的开发中,
评论