
本帖最后由 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 读写操作?
![]() 还请大家指教。 |
STM32多通道FFT运算异常
在其他电脑上编译成功没有错误并且能够烧录,换了电脑之后编译出现一堆错误,并且不能烧录程序
SD卡初始化第一次初始化后再次初始化时会失败。
串口重定向接收不同
关于三轴陀螺仪 I3G4250D
经过光耦之后,脉冲计数功能为啥不能实现?
STM32F407 ADC Dual regular simultaneous only 模式下最高采样率仅 96 kHz,960 kHz 无法工作,求助!
STM32 F407骄阳电机版用DMA双缓存接收串口数据时,上电第一次接收区是memory1而不是memory0?
STM32F407骄阳版用DMA双缓存区接收串口数据,上电第一次接收到的数据在memory1而不是memory0
stm32f407无法配置定时器2为全部dma
评分
查看全部评分