项目简介
这是一个基于mbed OS的嵌入式系统项目,项目名为“bpio”。该项目主要用于控制步进电机和PWM输出,同时支持通过USB CDC和I2C进行通信,旨在提供一个灵活、易于使用的接口来控制硬件设备。
项目的主要特性和功能
- USB通信:可通过USB进行数据传输以及控制命令的接收与发送。
- I2C通信:能与I2C设备通信,例如读取传感器数据或控制外部设备。
- PWM输出:可控制PWM信号的输出,用于电机控制等应用。
- 步进电机控制:能精确控制步进电机的位置和速度,实现设备的运动控制。
安装使用步骤
安装环境
- 安装mbed CLI工具,用于编译和部署代码。
- 安装必要的依赖库和工具。
使用步骤
- 复制或下载项目代码后进入项目目录:
bash cd bpio
- 编译代码:
bash mbed compile --target BLUE_PILL --toolchain GCC_ARM
- 烧录固件:
- 使用
stm32flash
工具:bash stm32flash -w firmware/release/bpio_fw_id0.bin -v -g 0x0 /dev/ttyUSB0
- 或者使用
st-flash
工具:bash st-flash write firmware/release/bpio_fw_id0.bin 0x8000000
- 配置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"
- 通过USB或I2C进行通信和控制。
注意事项
- 硬件连接:确保USB和I2C设备等硬件连接正确。
- 配置参数:根据硬件环境调整代码中的配置参数。
- 文档阅读:使用前仔细阅读相关文档和注释,了解代码功能和使用方法。
已知问题
- 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】