项目简介
本项目构建了一个基于STM32和ESP32的CAN总线网络系统。其中,STM32_Master承担发送CAN消息的任务,ESP32_Slave负责监听并处理接收到的消息,二者通过CAN总线进行通信。系统还配备了OLED显示屏用于信息展示,利用W25Q64 Flash存储器存储相关参数。此外,借助Qt框架开发了客户端GUI应用,方便用户与系统交互。
项目的主要特性和功能
STM32_Master
- 以STM32F103C8t6(Black Pill板)为核心,作为CAN总线主节点,周期性发送CAN消息。
- 搭载0.96寸、128x64的SSD1306 OLED显示屏(SPI接口),实时显示相关信息。
- 通过TJA1050收发器实现CAN接口通信。
- 运用8MB的W25Q64 Flash存储器(SPI接口),存储CAN通信速度和页号等参数。
ESP32_Slave
- 采用ESP32(DevKitC板)作为CAN总线从节点,接收并处理来自STM32_Master的CAN消息。
- 配备同样规格的SSD1306 OLED显示屏(I2C接口),展示系统运行状态。
- 借助TJA1050实现CAN接口通信。
- 支持WiFi连接,可与客户端进行网络通信。
客户端GUI应用
- 基于Qt框架开发,有直观的图形用户界面。
- 支持发送设置日期、CAN通信速度、Flash页号等命令。
- 能格式化W25Qxx Flash的特定扇区。
安装使用步骤
硬件准备
- 准备STM32F103C8t6(Black Pill板)和ESP32(DevKitC板)。
- 确保CAN接口、OLED显示屏、Flash存储器等硬件设备连接无误。
软件准备
- 安装STM32CubeMX、System Workbench for STM32、esp-idf、Qt Creator(4.11.0/4.11.1)和Qt framework(5.12.1)。
- 准备好包含项目配置信息的XML文件。
代码编译与部署
- 用STM32CubeMX和System Workbench for STM32编译STM32_Master的代码,通过stm32flash工具将程序烧录到STM32F103C8t6。
- 使用esp-idf编译和部署ESP32_Slave的代码。
- 用Qt Creator编译客户端GUI应用。
运行测试
- 给硬件设备上电,STM32_Master开始周期性发送CAN消息,ESP32_Slave接收并处理消息。
- 启动客户端GUI应用,发送命令并接收系统响应,验证系统功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】