关于 STM32G0/G4/L4 HAL_IIC HAL_I2C_Mem_Read 函数读取M24C64存储芯片遇到的问题
由于错误的定义了HAL_I2C_Mem_Read函数第四个形数,随意的写成了 8
HAL_I2C_Mem_Read( &hi2c1,IIC_ReadAddr, 10, 8, array_read, 10, 1000 );
造成了,IIC在通讯过程中不正常的停止,函数并报出错误代码“HAL_ERROR“,波形如下
将代码改成如下方式
HAL_I2C_Mem_Read( &hi2c1,IIC_ReadAddr, 10, I2C_MEMADD_SIZE_16BIT, array_read, 10, 1000 );
函数的第四个参数使用了官方库的宏定义,官方库宏定义如下
/** @defgroup I2C_MEMORY_ADDRESS_SIZE I2C Memory Address Size* @{*/
#define I2C_MEMADD_SIZE_8BIT (0x00000001U)
#define I2C_MEMADD_SIZE_16BIT (0x00000002U)
目前通讯正常
总结:由于随意的参数定义,没有严格使用官方的宏定义,造成查找问题忽略了这个点,所以以后要尽量使用官方宏定义,保证程序的可移植,并且减少很容易被忽略的错误
最后,要非常感谢 AlexXU(ST),没有他的帮助,我很难发现这个问题
关于 STM32G0/G4/L4 HAL_IIC HAL_I2C_Mem_Read 函数读取M24C64存储芯片遇到的问题相关推荐
- pandas将列表list插入到dataframe的单元格中、pandas使用read_csv函数读取文件并设置保留数值的前置0( leading zeroes)
pandas将列表list插入到dataframe的单元格中.pandas使用read_csv函数读取文件并设置保留数值的前置0( leading zeroes) 目录
- pandas使用read_csv函数读取文件并解析日期数据列(parse dates)、pandas使用read_csv函数读取文件并将缺失值转化为空字符串
pandas使用read_csv函数读取文件并解析日期数据列(parse dates).pandas使用read_csv函数读取文件并将缺失值转化为空字符串 目录
- pandas使用read_csv函数读取文件时指定数据列的数据类型、pandas使用read_csv函数读取文件时通过keep_default_na参数设置缺失值替换为空字符串
pandas使用read_csv函数读取文件时指定数据列的数据类型.pandas使用read_csv函数读取文件时通过keep_default_na参数设置缺失值替换为空字符串 目录
- pandas使用read_csv函数读取文件最后N行数据并保留表头、pandas使用read_csv函数读取网络url链接数据
pandas使用read_csv函数读取文件最后N行数据并保留表头.pandas使用read_csv函数读取网络url链接数据 目录
- R语言使用haven包的read_spss函数读取spss格式数据、使用haven包的read_sas函数读取SAS格式数据、使用haven包的read_dta函数读取Stata格式数据
R语言使用haven包的read_spss函数读取spss格式数据.使用haven包的read_sas函数读取SAS格式数据.使用haven包的read_dta函数读取Stata格式数据 目录
- R语言使用read.delim函数读取带分隔符的文本文件
R语言使用read.delim函数读取带分隔符的文本文件 目录 R语言使用read.delim函数读取带分隔符的文本文件 #read.delim函数语法
- R语言scan函数读取文件为向量或者列表格式实战
R语言scan函数读取文件为向量或者列表格式实战 目录 R语言scan函数读取文件为向量或者列表格式实战 #基本语法
- R语言readLines函数、n.readLines函数、readline函数读取文本文件实战
R语言readLines函数.n.readLines函数.readline函数读取文本文件实战 目录 R语言readLines函数.n.readLines函数.readline函数读取文本文件实战 # ...
- 【Android 逆向】代码调试器开发 ( ptrace 函数 | 读取进程内存数据 )
文章目录 一.读取进程内存数据 二.读取流程 三.完整代码 一.读取进程内存数据 使用 ptrace 函数读取内存数据 : ptrace(PTRACE_PEEKTEXT, m_nPid, (void* ...
最新文章
- python --time()函数
- 20180315 代码错题(1)
- linux基础lvm
- 几款开源的数据挖掘工具
- js面试题知识点全解(一作用域)
- CodeForces 340C
- 详解Python变量作用域
- dplyr | 数据处理函数的功能速查!dplyr包中的十类操作函数汇总(下篇)
- Python基础第二十天:线程
- VB Environ系统环境变量函数大全
- Linux下安装Python3.6(可用)
- 【李宏毅2020 ML/DL】P4 Basic Concept
- sql2000 数据库置疑解决
- git日志 每天导出 shell脚本
- 教程篇:《基础模块4》金蝶K3WISE15.0-客户端安装与卸载
- MySQL数据文件的组织
- html5网页制作心得体会,学习网页制作心得体会范文3篇
- 引用 USB启动盘,将DOS工具集成到WinPE的grub - Windows
- macos系统镜像iso_Windows10操作系统iso镜像、微软正版软件下载站:MSDN,我告诉你...
- OpenVINO之链接库
热门文章
- Spring中ApplicationContext加载机制和配置初始化
- svn 413 Request Entity Too Large 错误的解决方法
- SemSorGrid4Env
- WSE 3.0异步调用, MTOM, Custom Policy Trace Assertion
- 【IDEA】干掉注释自动在行首
- scala for循环
- docker run常用参数说明
- eclipse报jvm terminated.exitcode=2错误的解决方法
- 小米手机系统服务组件是干什么的_怎么查看小米手机MIUI系统的基本功能-小米手机MIUI系统基础功能查询方法讲解...
- python多线程并发编程技术_同步线程 -
Python并发编程教程™