
本帖最后由 chixinmu-184972 于 2019-4-23 09:24 编辑 最近在做一个类似I2C hub的开发,需要一个I2C做从机,4个I2C做主机转发从机接收到的内容,选用了STM32F412这颗料,包含四路硬件I2C,打算再用一路软件模拟I2C实现功能。使用官方的CubeMx生成代码调试。目前在调试I2C从机通讯,调试过程中有一些疑问,特向大家请教: I2C通讯中最基本的两个传输函数是HAL_I2C_Slave_Receive_IT()/HAL_I2C_Slave_Transmit_IT(),但是这两个函数只能够发送或者接受特定长度的数据,而作为I2C从机,当主机写操作的时候,数据的长度是不定的,如何使用HAL库实现I2C从机不定长数据的接收呢? 另外,注意到I2C还可以时序操作(还不是很理解时序操作能够实现什么功能)以及地址监听。地址监听在识别到正确地址后会有一个CallBack。我在这个CallBack中做了一些标志位置位。疑问是否可以在CallBack中调I2C 读写操作?
![]() 还请大家指教。 |
keil调试阶段无法进行仿真,能进到仿真界面,但是无法执行程序,这个怎么解决?
STM32F4的IO口5V容忍问题
STM32F407的flash读写问题
询问STM32F407两种USB可以实现的功能
TOF传感器(VL53L5),无法得到data ready
在CUBEMX生成的STM32F407VET6的I2S主机接收模式与I2S主机发送模式能正常运行,如何进行动态调整或者如何实现主机全双工?
STM32F407 多机RS485串口通讯+地址位唤醒+DMA空闲线接收,无法进入中断服务程序。
设置RDP等级为2的同时,有什么办法可以确保后续还能够烧录程序
STM32F407VET6 I2S 采用DMA传输问题
有STM32F4倒车雷达响应例程吗?
评分
查看全部评分