stm32f103 i2c通信
时间: 2023-08-06 13:02:46 浏览: 170
stm32_i2c.zip_Cortex_i2c stm32_stm32f103 i2c
STM32F103是一款32位ARM Cortex-M3内核的微控制器,支持硬件I2C通信。在使用硬件I2C进行通信时,可以参考ST官方提供的例程和参考手册。
官方例程中的代码并没有像网上大多数代码在I2C中断里面调用库函数来发,而是采用判断寄存器的值来处理数据的收发等。在阅读官方的代码前,最好准备STM32参考手册,主要关注SR1和SR2这两个寄存器。\[1\]
如果你想自己编写I2C通信的代码,可以参考引用\[2\]中的MyI2C.h文件,其中定义了一些常用的I2C操作函数。
在使用I2C总线连接多个单片机时,需要注意从机的地址设置。根据引用\[3\]的描述,如果主机接收的数据不正确,可以尝试更改从机的地址。建议多个从机地址之间最好不要连续,最好隔几个地址。在实验中,从机地址可以设置为0x30、0x40或其他值,只要保证不重复即可。
如果你尝试使用HAL库的I2C功能,但无法读取数据,请确保你正确配置了I2C的参数,并检查硬件连接是否正确。如果问题仍然存在,建议查阅相关文档或向有经验的朋友寻求帮助。\[3\]
#### 引用[.reference_title]
- *1* *3* [STM32F103 硬件I2C主从机通信](https://blog.csdn.net/changshengxiao/article/details/88069376)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [STM32——I2C通信](https://blog.csdn.net/NRWHF/article/details/128599644)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文