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

STM32F429IGT6使用CubeMX配置IIC通信(AT2402芯片)

1、硬件电路

写地址:0xA0

读地址:0xA1 

存储容量:256Byte

2、设置RCC,选择高速外部时钟HSE,时钟设置为180MHz

3、配置IIC

4、生成工程配置

 

5、部分代码

#define IIC_WRITE_ADDR 0xA0 // IIC写地址
#define IIC_READ_ADDR 0xA1  // IIC读地址uint8_t write_buff[256] = {0}; // 发送数据缓冲区
uint8_t recv_buff[256] = {0};  // 接收数据缓冲区
/*** 发送数据函数* device_addr:EEPROM设备地址* data_addr:要写入EEPROM地址(地址范围0x00~0xff)小心越界* pData:发送数据首地址* Size:发送数据个数*/
void iic_Send_Data(I2C_HandleTypeDef *hi2c, uint8_t device_addr, uint8_t data_addr, uint8_t *pData, uint16_t Size)
{HAL_I2C_Mem_Write(hi2c,device_addr,data_addr,1,pData,Size,500);HAL_Delay(20);  //延时一定要加不然数据可能写入不进去
}/*** 接收数据函数* device_addr:EEPROM设备地址* data_addr:要读取的EEPROM地址(地址范围0x00~0xff),小心越界* pData:用于存储数据的缓冲区的指针* Size:要读取的字节数*/
void iic_Receive_Data(I2C_HandleTypeDef *hi2c, uint8_t device_addr, uint8_t data_addr, uint8_t *pData, uint16_t Size)
{HAL_I2C_Mem_Read(hi2c,device_addr,data_addr,1,pData,Size,500);
}
    /* USER CODE BEGIN 2 */printf("AT2402 readwrite test!!!\r\n");for(int i=0;i<256;i++){write_buff[i] = i;}for(int i=0;i<32;i++)   //AT24C02页写入只支持8个byte,所以需要分32次写入。{iic_Send_Data(&hi2c1,IIC_WRITE_ADDR,8*i,&write_buff[8*i],8);}iic_Receive_Data(&hi2c1,IIC_READ_ADDR,0x00,recv_buff,256);for(int i=0;i<256;i++){printf("recv_buff[%03d]  = 0x%02x\t",i,recv_buff[i]);if(0 == (i+1)%8 && (i+1)>=8){printf("\r\n");}}/* USER CODE END 2 */

6、实验现象

 

相关文章:

STM32F429IGT6使用CubeMX配置IIC通信(AT2402芯片)

1、硬件电路 写地址&#xff1a;0xA0 读地址&#xff1a;0xA1 存储容量&#xff1a;256Byte 2、设置RCC&#xff0c;选择高速外部时钟HSE,时钟设置为180MHz 3、配置IIC 4、生成工程配置 5、部分代码 #define IIC_WRITE_ADDR 0xA0 // IIC写地址 #define IIC_READ_ADDR 0xA1 …...

JS逆向系列之猿人学爬虫第14题-备而后动-勿使有变

文章目录 题目地址参数分析参考jspython 调用往期逆向文章推荐题目地址 https://match.yuanrenxue.cn/match/14题目难度标的是困难,主要难在js混淆部分。 参数分析 初始抓包有无限debugger反调试,可以直接hook 函数构造器过掉无限debugger Function.prototype.__construc…...

学cpp看的那点书

C C Primer 语言基础学习 C Templates The Complete Guide (2nd Edition) 学习模板&#xff0c;更好的阅读 STL 源码&#xff0c;毕竟C 标准库大部分是模板。 The C Standard Library 全称 The C Standard Library A Tutorial and Reference Second Edition简单的了解标…...

【C++】常用容器-string容器

1.string基本概念 2.string构造函数 #include <iostream> using namespace std;//string容器 void test01() {string s1;//创建空字符串&#xff0c;调用无参构造函数cout << "str1 " << s1 << endl;//什么都不输出const char* str "…...

SSH无法连接kali,拒绝密码

1&#xff0c;cd /etc/ssh 2,systemctl start ssh.server 3,vim /etc/ssh/sshd_config 将黄色文字改成这样 4&#xff0c;systemctl restart ssh 然后去连接就好了...

竞赛项目 深度学习的口罩佩戴检测 - opencv 卷积神经网络 机器视觉 深度学习

文章目录 0 简介1 课题背景&#x1f6a9; 2 口罩佩戴算法实现2.1 YOLO 模型概览2.2 YOLOv32.3 YOLO 口罩佩戴检测实现数据集 2.4 实现代码2.5 检测效果 3 口罩佩戴检测算法评价指标3.1 准确率&#xff08;Accuracy&#xff09;3.2 精确率(Precision)和召回率(Recall)3.3 平均精…...

redis 数据结构(一)

Redis 为什么那么快 redis是一种内存数据库&#xff0c;所有的操作都是在内存中进行的&#xff0c;还有一种重要原因是&#xff1a;它的数据结构的设计对数据进行增删查改操作很高效。 redis的数据结构是什么 redis数据结构是对redis键值对值的数据类型的底层的实现&#xff0c…...

【高频面试题】JVM篇

文章目录 一、JVM组成1.什么是程序计数器2.什么是Java堆&#xff1f;3.能不能介绍一下方法区(元空间&#xff09;4.你听过直接内存吗5.什么是虚拟机栈6.垃圾回收是否涉及栈内存&#xff1f;7.栈内存分配越大越好吗&#xff1f;8.方法内的局部变量是否线程安全&#xff1f;9.什么…...

第十三次CCF计算机软件能力认证

第一题&#xff1a;跳一跳 近来&#xff0c;跳一跳这款小游戏风靡全国&#xff0c;受到不少玩家的喜爱。 简化后的跳一跳规则如下&#xff1a;玩家每次从当前方块跳到下一个方块&#xff0c;如果没有跳到下一个方块上则游戏结束。 如果跳到了方块上&#xff0c;但没有跳到方块的…...

无人驾驶实战-第十二课(强化学习自动驾驶系统)(完)

在七月算法上报了《无人驾驶实战》课程&#xff0c;老师讲的真好。好记性不如烂笔头&#xff0c;记录一下学习内容。 课程入口&#xff0c;感兴趣的也可以跟着学一下。 ————————————————————————————————————————— 强化学习&#xff…...

【flask sqlalchmey】一次性将返回的列表对象或者 一行数据对象转成dict---flask-sqlalchemy输出json格式数据

def model_to_dict(object):return {c.name: getattr(object, c.name) for c in object.__table__.columns}#将一组数据转为list def scalars_to_list(object):return [model_to_dict(c) for c in object]class Sysdict(Base,SerializerMixin):__bind_key__ forest_fire_contr…...

goland插件推荐Rider UI Theme Pack

推荐一个goland配色插件Rider UI Theme Pack&#xff0c;里面自带visual assist配色&#xff0c;配色截图如下&#xff1a; 直接在plugins里面进行搜索或者在插件home page下载后进行安装均可。 总算找到一统vscode 和goland二者优势的插件了。...

人工智能面试常识-10

目录 1. 人工智能的常见用途和应用有哪些? 2. 什么是智能代理,它们如何在人工智能中使用?...

Android JNI开发从0到1,java调C,C调Java,保姆级教程详解

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂&#xff0c;风趣幽默"&#xff0c;感觉非常有意思,忍不住分享一下给大家。 &#x1f449;点击跳转到教程 第一步首先配置Android studio的NDK开发环境&#xff0c;首先在Android studio中下载NDK…...

STM32基于CubeIDE和HAL库 基础入门学习笔记:功能驱动与应用

文章目录&#xff1a; 一&#xff1a;LED与按键驱动程序 main.c 1.闪灯 led.h led.c 2.按键控制LED亮灭 key.h key.c 二&#xff1a;蜂鸣器与继电器驱动程序 main.c 1.蜂鸣器 buzzer.h buzzer.c delay.h delay.c 2.继电器 relay.h relay.c 三&#xff1…...

创建型模式 (Creational Patterns) 玄子Share 设计模式 GOF 全23种 + 七大设计原则

玄子Share 设计模式 GOF 全23种 七大设计原则 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NWLAOFtO-1691793071647)(./assets/%E7%8E%84%E5%AD%90Share%20%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%20GOF%20%E5%85%A823%E7%A7%8D%20%20%E4%B8%83%E…...

【脚踢数据结构】队列(顺序和链式)

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言,Linux基础,ARM开发板&#xff0c;软件配置等领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff01;送给自己和读者的一句鸡汤&#x1f914;&…...

linux添加磁盘

一、linux虚拟机添加一块新的硬盘 四步&#xff1a; &#xff08;1&#xff09; &#xff08;2&#xff09;为硬盘进行分区 &#xff08;3&#xff09;初始化硬盘分区 &#xff08;4&#xff09;挂载 在虚拟机上添加一块硬盘 (1)、 虚拟机添加一块新的硬盘作为数据盘 (2) ls…...

图片懒加载

什么是图片懒加载&#xff1f; 懒加载也叫做延迟加载、按需加载&#xff0c;指的是在长网页中延迟加载图片 数据&#xff0c;是一种较好的网页性能优化的方式。在比较长的网页或应用中&#xff0c; 如果图片很多&#xff0c;所有的图片都被加载出来&#xff0c;而用户只能看到可…...

scope,deep穿透的实际应用

一.父组件代码 <template><div id"app"><h1 class"box"><pageName> </pageName></h1></div> </template><script> import pageName from "../src/components/pageName.vue"; export de…...

长芯微LDC38601完全P2P替代ADS1256,是低噪声、24 位、60kSPS 模数转换器 (ADC)。

描述LDC38601 是低噪声、24 位、60kSPS 的 sigma-delta (Σ-Δ) 模数转换器 (ADC)。 这些模数转换器配备了四阶 sigma-delta 调制器和五阶 Sinc 滤波器 (Sinc5)&#xff0c;经过优化以实现低噪声性能。 它们还配备了灵活的输入多路复用器&#xff0c;支持单端输入或差分输入配置…...

从SPSS到Python:因子分析实战全流程对比与解读

1. 为什么需要从SPSS转向Python做因子分析 十年前我刚入行数据分析时&#xff0c;SPSS几乎是每个分析师电脑里的标配。图形化界面点点鼠标就能出结果&#xff0c;对新手特别友好。但后来处理的数据量越来越大&#xff0c;项目需求越来越复杂&#xff0c;我逐渐发现了SPSS的三个…...

XUnity Auto Translator:Unity游戏实时翻译完全指南

XUnity Auto Translator&#xff1a;Unity游戏实时翻译完全指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity Auto Translator是一款功能强大的Unity游戏本地化工具&#xff0c;能够实时翻译游戏…...

春假出行带火影像设备,全景运动相机成消费级市场增长主引擎

春假出行带动全景运动相机增长 多地中小学“春假”试点落地&#xff0c;与清明假期叠加形成“春日黄金周”&#xff0c;国内出行需求集中释放。除文旅、餐饮等传统消费板块外&#xff0c;与出行强相关的影像设备同步升温&#xff0c;消费级运动相机品类迎来增长行情&#xff0c…...

2025最权威的十大AI科研方案解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在人工智能生成内容也就是AIGC越来越普及的背景状况下&#xff0c;把内容里的AI痕迹给降低成…...

SONOFF Zigbee Bridge Pro网关评测与智能家居应用

1. SONOFF Zigbee Bridge Pro网关深度解析 作为智能家居领域的从业者&#xff0c;我最近测试了ITEAD新推出的SONOFF Zigbee Bridge Pro网关。这款产品是2020年发布的ZBBridge网关的升级版&#xff0c;外观虽然保持相同&#xff0c;但内部硬件配置和功能都有显著提升。 从实际体…...

从零开始手搓机器人关节:我用Arduino+步进电机驱动器DIY了一个二自由度机械臂控制器

从零开始手搓机器人关节&#xff1a;我用Arduino步进电机驱动器DIY了一个二自由度机械臂控制器 在创客圈里流传着一句话&#xff1a;"如果你没被步进电机折磨到怀疑人生&#xff0c;说明你玩得还不够深。"去年夏天&#xff0c;当我第一次尝试用工业伺服电机搭建机械…...

抖音批量下载工具技术解析:如何高效获取去水印视频与直播回放

抖音批量下载工具技术解析&#xff1a;如何高效获取去水印视频与直播回放 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…...

测试左移右移之后:质量保障体系的未来形态

在过去的十年中&#xff0c;“测试左移”与“测试右移”已从行业热词演变为软件研发与质量保障领域的核心实践。左移将质量活动提前至需求与设计阶段&#xff0c;右移则将关注点延伸至生产环境与用户体验。这两大策略深刻重塑了测试工程师的角色与工作流。然而&#xff0c;当我…...

MangoPi mCore-R818嵌入式开发模块与CyberPad应用解析

1. MangoPi mCore-R818模块与CyberPad掌上设备解析在嵌入式开发领域&#xff0c;Allwinner R818平台一直以其均衡的性能和功耗表现著称。MangoPi最新推出的mCore-R818系统模块&#xff08;SoM&#xff09;将这款处理器的潜力发挥到了新高度&#xff0c;特别是当其驱动3.1英寸Cy…...