历史上的今天
返回首页

历史上的今天

今天是:2025年08月09日(星期六)

2019年08月09日 | STM32F103 硬件I2C主从机通信

2019-08-09 来源:eefocus

官方例程并没有像网上大多数代码在IIC中断里面调用库函数来发,而是采用判断寄存器的值来处理数据的收发等,所以在阅读官方的的代码前最好准备stm32参考手册,主要就是SR1,SR2,这两个寄存器。


在官方例程里面默认是主机的读写,我做的是主机读取从机的内容。当然,简单改下就可以实现主机向从机写数据。

在这里插入图片描述

主机先使能中断和方向、地址。

在这里插入图片描述

之后就发送开始条件。

在这里插入图片描述

最后中断接收

在这里插入图片描述

下面从机初始化后,所有的数据接收、发送都在中断里面处理。从机发送

在这里插入图片描述

从机接收

在这里插入图片描述

最后通信成功

在这里插入图片描述

这是从机需要发送的数据。


哈哈哈。。。还有些函数需要再封装一下。

下一步就是在I2C总线上再挂几个单片机。

代码贴在这:

https://download.csdn.net/download/changshengxiao/10989174


这个是VL53L0X的keil mdk 的工程文件:

https://download.csdn.net/download/changshengxiao/10997790


这两天我又试了下在I2C总线上面挂两个单片机,但是主机接收的数据不对,而单独对一块单片机读取的数据没有问题,后来改了两个从机地址数据才读出来,开始两个从机地址分别是0x30,0x31后面改成了0x30,0x40(后来实验,0x32,0x33都行),强烈建议多从机地址一定不要连续,中间最好隔几个。期间又试了下HAL库的I2C,没有读出数据,希望知道的朋友告知一下。


这是stm32f103zet6作为主机,两片stm32f103c8t6作为从机各自控制VL53L0X测距传感器,发送到主机的图片。

在这里插入图片描述

注意主从机之间的I2C总线上拉电阻我用的是4.7K,电源是3.3V(之前电源接的是5V,后面硬件电路动了一下后,主机死活收不到数据,后来点对点测试的时候发现电源接3.3V可以)。


推荐阅读

史海拾趣

aconno公司的发展小趣事

aconno深知人才是企业发展的核心动力。因此,公司一直致力于打造一支高素质、专业化的团队。通过招聘优秀人才、提供专业培训、建立激励机制等一系列措施,aconno成功吸引和留住了一批业内精英。这些人才为公司的技术创新和市场拓展提供了有力支持,成为aconno发展壮大的重要保障。

BOT公司的发展小趣事

广西来宾电厂是中国第一个国家正式批准的BOT试点项目。该项目由法国电力国际和通用电气阿尔斯通公司作为项目公司的主要股东,总投资为6.16亿美元。这个电厂的装机规模为72万千瓦,安装了两台36万千瓦的进口燃煤机组。在长达18年的特许经营期内,该项目为广西地区提供了稳定的电力供应,同时也为项目公司带来了可观的投资回报。随着时间的推移,该项目成为了BOT模式在中国成功应用的典范,为后来的类似项目提供了宝贵的经验。

CTS公司的发展小趣事

随着全球化趋势的加强,CTS公司开始积极拓展国际市场。公司在全球范围内设立了多个生产基地和销售网络,以便更好地服务全球客户。同时,CTS还加强了与国际知名企业的合作,共同推动电子行业的发展。

C-MEDIA公司的发展小趣事

近年来,网络游戏市场呈现出蓬勃发展的态势,C-MEDIA公司也看到了其中的商机。于是,公司通过收购C&C Media,进一步深入日本网络游戏市场。这次收购不仅帮助C-MEDIA公司把握了该市场的成长机遇,也有效地拓展了其海外运营实力。C&C Media旗下的网络游戏门户网站“MK-STYLE”为个人用户提供了丰富的网络游戏服务,进一步巩固了C-MEDIA在网络游戏领域的市场地位。

GSI Technology公司的发展小趣事

进入21世纪后,GSI Technology继续加大研发投入,不仅巩固了其在SRAM领域的领先地位,还成功扩展了产品线,包括同步突发SRAM、无总线周转SRAM等。同时,公司还推出了SigmaRAM、SigmaQuad、SigmaQuad II等系列产品,这些产品以其卓越的性能、高可靠性和低功耗特性,赢得了市场的广泛认可。此外,GSI还致力于提供超长产品支持生命周期和完整的售前售后服务,进一步增强了客户粘性。

Galil Motion Control Inc公司的发展小趣事

面对电子行业日益激烈的市场竞争和快速变化的市场需求,GSI Technology不断调整战略方向,积极应对挑战。公司加大在研发方面的投入,不断优化产品结构和生产工艺,提高产品质量和竞争力。同时,GSI还积极推动企业转型升级,向更加智能化、绿色化的方向发展。通过一系列的努力,GSI成功克服了行业内的诸多挑战,保持了持续稳定的发展态势。

问答坊 | AI 解惑

EMC 问题的地线问题

EMC 问题的地线问题…

查看全部问答>

DSP 实 例 视频 教程 免费下 载

DSP5509实例视频教程,欢迎大家免费下载。 电驴下载地址:http://www.verycd.com/topics/2788098/ QQ中转站下载:QQ号码1353686381 ,密码weierda DSP5509开发板视频教程目录 第一讲 CCS安装与建立第一个helloworld程序 43.06’ ...…

查看全部问答>

GPS+GPRS

有无能提供GPS+GPRS方案或样机的公司? WINCE系统的? 谢谢…

查看全部问答>

IPerf在WinCE ARMV4I下运行提示缺少component或相关libraries

想要测Wi-Fi模块的带宽, 在网上Down了一个IPerf源代码,板子上用的是ARMV4I, 编译器选ARMV4I, Build后,把iperf.exe copy到板子上运行, 错误提示:\"Cannot find \'IPERF\' (or one of its components). Makesure the path and filename are corr ...…

查看全部问答>

影片耗損電力問題

不知道用c++是否能實作出一個影片播放或程式執行時所耗用的電力? 能否有相關的資訊或經驗可以告訴我? 謝謝…

查看全部问答>

[原创]STM32F单纯的TIM2定时器溢出中断试验程序

STM32F定时器的功能非常丰富,像我这样单纯的TIM2定时器溢出中断人恐怕不多了,所以找例子资料也找不到费了九牛二虎之力终于杜撰出来了,发帖庆祝!我这里用了ST新版的STM32F FWLIB2.0库,用到的函数都添加了中文注释。IAR编译的项目传不 ...…

查看全部问答>

如何读取计数器的计数方向

                                 准备利用STM32计数器对编码器的输出脉冲进行计数,并对计数器的溢出次数进行计数,若计数器上溢进行加计数,若计数 ...…

查看全部问答>

【求助】内存的事

我在这里问了许多的问题,得到了版主和各位朋友的解答,很是感激,想说一声谢谢。 下面是我对内存的一些不解: 1.flash,rom,ram的不同。flash可不可以向ram那样运行? 2.flash,rom中一开始有没有东西?刚买来的时候。 3.f149中有的内存分配: ...…

查看全部问答>

9款LED照明的驱动IC和T8 LED灯管变压器样品免费申请

为满足在LED领域工作的一线工程师和LED 技术发烧友的需求,电子元件技术网特意为大家组织开展了一个免费样品申请活动。通过电子元件技术网这个平台大家可以申请到知名企业的生产的最新LED产品的样品 ...…

查看全部问答>

连续立式包装机控制器/深圳包装机控制器

深圳市中软创芯电子有限公司是一家以工控系统及设备为主的生产加工,产品开发型公司。主要开发:控制器、工业自动化控制器、家电控制器、运动控制器、电子产品程序开发,电子软件开发,单片机程序开发,等电子产品。已经成为一家在电子电工电气行业 ...…

查看全部问答>