littlebot
Published on 2025-04-12 / 0 Visits
0

【源码】基于STM32的多端口USB转串口适配器系统

项目简介

本项目基于STM32,开发了bluepill - serial - monster固件,能将STM32 Blue Pill转变为3端口USB转串口适配器。同时支持Maple mini板,可通过VSCode的PlatformIO插件轻松构建。项目还提供了Kicad小电路板设计,包含4个PST连接器(3个USART + 1个SWD),以及Maple mini板的相关额外文档。

项目的主要特性和功能

通用特性

  • 支持在VSCode中用PlatformIO插件轻松构建项目。
  • 提供Kicad电路板设计用于实际硬件搭建。
  • 包含Maple mini板的相关额外文档。

Blue Pill固件特性

  • 实现3个独立UART端口。
  • 支持硬件流控制(RTS/CTS),UART1不支持CTS但RTS可用。
  • 支持DSR/DTR/DCD/RI信号。
  • 支持7或8位字长,无、偶、奇校验,1、1.5和2个停止位。
  • 可与Linux、macOS和Windows的CDC Class驱动配合使用。
  • 支持高达2 MBaud的所有波特率。
  • 提供TXA信号用于控制RS - 485收发器。
  • 采用DMA RX/TX实现高速通信。
  • 支持IDLE线检测以实现短响应时间。
  • 提供适用于Windows XP、7和8的签名INF驱动。
  • 内置命令外壳用于设备参数配置。
  • 除CMSIS外无其他外部依赖。
  • 与DFU Bootloaders兼容。

高级配置功能

  • 可通过配置外壳控制UART信号线的各种参数,如输出类型、信号极性、上拉下拉等。
  • 支持保存和重置设备配置。
  • 可打印固件版本。

安装使用步骤

通用安装

基于Maple mini板

  1. 此说明为平台安装VSCode和PlatformIO。
  2. 进入下载项目的文件夹。
  3. 按下构建并通过ST - Link下载到Maple mini板。

基于Blue Pill板

  1. 安装依赖软件
    • 安装GNU make、arm - none - eabi工具链、开源st - link和STM32CubeF1。
    • 假设所有软件安装在~/stm32/目录下,使用bash时,将ARM工具链和st - link添加到PATH: bash export PATH=~/stm32/gcc - arm - none - eabi/bin:$PATH export PATH=~/stm32/stlink - install/bin:$PATH
    • 导出STM32CubeF1的路径(可使用~/.bash_profile): bash export STM32CUBE_PATH=~/stm32/stm32cube
  2. 构建固件
    • 进入项目目录,运行make命令构建固件。
    • 若要使用st - link烧录MCU,运行make flash
    • 若要移除对象和依赖文件,运行make clean
    • 若要移除对象、依赖和固件文件,运行make distclean
  3. 为DFU Bootloaders构建(可选)
    • 若使用DFU Bootloaders,需将固件起始地址重新定位,使用make clean && make FIRMWARE_ORIGIN=0xXXXXXXXX,其中0xXXXXXXXX是所需的固件起始地址。

驱动安装

  • Windows(XP、7、8):需用INF文件将设备的供应商ID/产品ID映射到Microsoft的usbser.sys CDC ACM驱动。将bluepill - serial - monster插入电脑,新设备安装时,将Windows指向包含bluepill - serial - monster.inf和bluepill - serial - monster.cat文件的目录;或在Windows设备管理器中,右键单击Bluepill Serial Monster设备,选“更新驱动”,并指向INF文件目录。
  • Windows 10:自动加载标准驱动,无需额外操作。

硬件修复(Blue Pill板)

用数字万用表测量板上PA12和3.3V焊盘之间的电阻。若电阻接近1.5k(1500欧姆),板子正常或因其他原因故障;若电阻远离1.5k(如4.7k或10k),需找到错误的电阻(若板子有元件名称,定位R10;否则追踪电路板找到错误电阻),并将其替换为1.5k或1.8k的电阻。

高级配置使用

  • 若要访问配置外壳,用任何终端仿真应用程序(如screen、Tera Term等)打开第一个USB串行端口(UART1),并将PB5接地。
  • 使用help命令获取可用命令列表,使用help command - name获取特定命令的帮助。
  • 使用uart命令查看和设置UART端口参数,使用config save保存配置,使用config reset重置为默认设置,使用version打印固件版本。

下载地址

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