littlebot
Published on 2025-04-17 / 1 Visits
0

【源码】基于STM32F1系列MCU的I2CSPI设备通信工具

项目简介

本项目旨在实现计算机对I2C和SPI总线的便捷访问,主要用于对其他项目中的EEPROM和闪存设备进行编程,也能与任何I2C/SPI设备进行通信。项目最初针对STM32F100编写,后续扩展到STM32F103,具备良好的可移植性。此外,还增添了PWM和ADC命令功能。

项目的主要特性和功能

  1. 多设备支持:可与24CXXX I2C EEPROM、XX25 SPI闪存、XX95 SPI EEPROM等多种I2C和SPI设备通信。
  2. AT命令驱动:通过AT命令控制设备,成功执行返回OK,失败返回ERR。
  3. 数据缓冲系统:拥有256字节的读写缓冲区,便于数据存储和处理。
  4. 数据验证:提供MD5计算功能,用于数据验证。
  5. 额外功能:支持PWM信号输出和ADC采样。

安装使用步骤

硬件准备

选择合适的开发板,如LC Technology STM32F103C8、STM32VLDISCOVERY、Olimex STM32 - H103等,推荐使用F103板,无需USB转串口转换器且通信速度更快。

软件准备

确保已安装项目所需的STM32F10x库。

编译与烧录

将项目源码编译后烧录到所选的开发板中。

设备使用

通过串口或USB CDC与开发板建立连接,使用AT命令控制设备,示例如下: - 通用命令:AT用于测试连接,ATI用于获取设备ID。 - 缓冲区操作:AT+BUFWR用于填充写缓冲区,AT+BUFRD用于查看读缓冲区。 - I2C操作:AT+I2CADR用于设置I2C地址,AT+I2CWRAT+I2CRD用于读写操作。 - SPI操作:AT+SPIRW用于读写,AT+SPIDEV用于选择NSS引脚。 - PWM操作:AT+PWMF用于设置频率,AT+PWMDC用于设置占空比。 - ADC操作:AT+ADCSTART用于开始采样。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】