littlebot
Published on 2025-04-03 / 3 Visits
0

【源码】基于mbed OS的BPIO控制项目

项目简介

这是一个基于mbed OS的嵌入式系统项目,项目名为“bpio”。该项目主要用于控制步进电机和PWM输出,同时支持通过USB CDC和I2C进行通信,旨在提供一个灵活、易于使用的接口来控制硬件设备。

项目的主要特性和功能

  1. USB通信:可通过USB进行数据传输以及控制命令的接收与发送。
  2. I2C通信:能与I2C设备通信,例如读取传感器数据或控制外部设备。
  3. PWM输出:可控制PWM信号的输出,用于电机控制等应用。
  4. 步进电机控制:能精确控制步进电机的位置和速度,实现设备的运动控制。

安装使用步骤

安装环境

  1. 安装mbed CLI工具,用于编译和部署代码。
  2. 安装必要的依赖库和工具。

使用步骤

  1. 复制或下载项目代码后进入项目目录: bash cd bpio
  2. 编译代码: bash mbed compile --target BLUE_PILL --toolchain GCC_ARM
  3. 烧录固件:
  4. 使用stm32flash工具: bash stm32flash -w firmware/release/bpio_fw_id0.bin -v -g 0x0 /dev/ttyUSB0
  5. 或者使用st-flash工具: bash st-flash write firmware/release/bpio_fw_id0.bin 0x8000000
  6. 配置udev规则(可选): 将以下内容添加到/etc/udev/rules.d/99-bpio.rules文件中: bash SUBSYSTEM=="tty", ATTRS{idVendor}=="1f00", ATTRS{idProduct}=="2012", ATTRS{product} == "BPIO0", SYMLINK+="ttyBPIO0" SUBSYSTEM=="tty", ATTRS{idVendor}=="1f00", ATTRS{idProduct}=="2012", ATTRS{product} == "BPIO1", SYMLINK+="ttyBPIO1" SUBSYSTEM=="tty", ATTRS{idVendor}=="1f00", ATTRS{idProduct}=="2012", ATTRS{product} == "BPIO2", SYMLINK+="ttyBPIO2" SUBSYSTEM=="tty", ATTRS{idVendor}=="1f00", ATTRS{idProduct}=="2012", ATTRS{product} == "BPIO3", SYMLINK+="ttyBPIO3" SUBSYSTEM=="tty", ATTRS{idVendor}=="1f00", ATTRS{idProduct}=="2012", ATTRS{product} == "BPIO4", SYMLINK+="ttyBPIO4"
  7. 通过USB或I2C进行通信和控制。

注意事项

  1. 硬件连接:确保USB和I2C设备等硬件连接正确。
  2. 配置参数:根据硬件环境调整代码中的配置参数。
  3. 文档阅读:使用前仔细阅读相关文档和注释,了解代码功能和使用方法。

已知问题

  • Modemmanager:可能会阻止设备,建议卸载无用的守护进程。
  • BluePill烧录问题:许多新的BluePill板可能被锁定,需要更改选项字节才能通过st - link烧录。
  • USB端口问题:某些BluePill板上的USB端口可能存在10k上拉电阻问题,建议添加1.8k电阻从3.3V到A12引脚。

版本变更

  • V1到V2:
  • 主频从48MHz提升到72MHz。
  • I2C引脚从B6/B7改为B8/B9。
  • 步进电机4的引脚从A15/B3改为C14/C5。

下载地址

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