当前位置: 首页 > news >正文

Stm32 iic 协议使用

/* 第1个参数为I2C操作句柄
第2个参数为从机设备地址
第3个参数为从机寄存器地址
第4个参数为从机寄存器地址长度
第5个参数为发送的数据的起始地址
第6个参数为传输数据的大小
第7个参数为操作超时时间 */
HAL_I2C_Mem_Write(&hi2c2,salve_add,0,0,PA_BUFF,sizeof(PA_BUFF),0x10);
HAL_I2C_Mem_Write_IT();
HAL_I2C_Mem_Read();
HAL_I2C_Mem_Read_IT();
HAL_I2C_Mem_Read_DMA();
HAL_I2C_Mem_Write_DMA();

HAL_I2C_Master_Receive();// STM32 主机接收,不需要用到寄存器地址
HAL_I2C_Master_Receive_IT();//中断IIC接收
HAL_I2C_Master_Receive_DMA();// DMA 方式的IIC接收
HAL_I2C_Master_Transmit_IT();  //中断IIC发送
HAL_I2C_Master_Transmit_DMA();   // DMA 方式的IIC发送
HAL_I2C_Master_Transmit(&hi2c2,salve_add,PA_BUFF,sizeof(PA_BUFF),0x10); //STM32 主机发送

HAL_I2C_Slave_Receive();// STM32 从机机接收,不需要用到寄存器地址
HAL_I2C_Slave_Transmit();// STM32 从机机发送,不需要用到寄存器地址
HAL_I2C_Slave_Receive_IT();
HAL_I2C_Slave_Receive_DMA();
HAL_I2C_Slave_Transmit_IT();
HAL_I2C_Slave_Transmit_DMA();

举个调用 HAL_I2C_Mem_Write()函数读取16个字节的使用例子
HAL_I2C_Mem_Read(&hi2c2,U9_Save_Read_Add,ADC_Result_Add,I2C_MEMADD_SIZE_8BIT,Read_buff,2,0xff);

再举一个 HAL_I2C_Mem_Read( ) 函数写16个字节的使用例子
uint8_t Configuration_config[2]={0x09,0xc0};

//设置U9的Configuration寄存器为 0x09 0xc0
HAL_I2C_Mem_Write(&hi2c2,U9_Save_Write_Add,ADC_Configuration_Add,I2C_MEMADD_SIZE_8BIT,Configuration_config,2,0xff);

http://www.lryc.cn/news/26499.html

相关文章:

  • Malware Dev 02 - Windows SDDL 后门利用之 SCManager
  • 每日一题29——山峰数组的顶部
  • Linux- 系统随你玩之--好用到炸裂的系统级监控、诊断工具
  • 第十三节 继承
  • 【优化】性能优化Springboot 项目配置内置Tomcat使用Http11AprProtocol(AIO)
  • SpringBoot之@ConfigurationProperties、@EnableConfigurationProperties
  • 数组一次性删除多条数据
  • 相机删除照片如何恢复?一键解决它
  • vue3搭建教程(基于webpack+create-vue+ element-plus)
  • 代码随想录算法训练营第四十二天 | leetcode 1049. 最后一块石头的重量 II,494. 目标和,474.一和零
  • Java8中Lambda表达式之Collection 的常见用法
  • SpringCloud系列知识快速复习 -- part 2(Sentinel微服务保护,Seata分布式事务,Redis分布式缓存和多级缓存)
  • 设置CentOS7的时间与网络同步
  • java开发手册之编程规约
  • Camera | 5.Linux v4l2架构(基于rk3568)
  • 机房PDU如何挑选?
  • lab备考第二步:HCIE-Cloud-Compute-第一题:FusionCompute
  • js-cookie和vue-cookies(Cookie使用教程)
  • 开创高质量发展新局面,优炫数据库助推数字中国建设
  • 【项目实战】为什么我选择使用CloseableHttpClient,而不是HttpClient,他们俩有什么区别?
  • Spark 内存运用
  • SpringBoot集成Swagger3.0(入门) 02
  • 网络协议丨ICMP协议
  • 12.1 基于Django的服务器信息查看应用(系统信息、用户信息)
  • ExSwin-Unet 论文研读
  • 置顶!!!主页禁言提示原因:在自己论坛发动态误带敏感词,在自己论坛禁止评论90天
  • 优思学院|解密六西格玛:探索DMAIC和DMADV之间的区别
  • Pytorch的DataLoader输入输出(以文本为例)
  • 代谢组学:Microbiome又一篇!绘制重症先天性心脏病新生儿肠道微生态全景图谱
  • Java基本类型所占字节简述