1K Star 5K Fork 2.1K

GVPRT-Thread/rt-thread

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

STM32F103 Blue-Pill开发板的Arduino生态兼容说明

English | 中文

1 RTduino - RT-Thread的Arduino生态兼容层

STM32F103 Blue-Pill开发板已经完整适配了RTduino软件包,即RT-Thread的Arduino生态兼容层。用户可以按照Arduino的编程习惯来操作该BSP,并且可以使用大量Arduino社区丰富的库,是对RT-Thread生态的极大增强。更多信息,请参见RTduino软件包说明文档

1.1 如何开启针对本BSP的Arduino生态兼容层

Env 工具下敲入 menuconfig 命令,或者 RT-Thread Studio IDE 下选择 RT-Thread Settings:

Hardware Drivers Config --->
    Onboard Peripheral Drivers --->
        [*] Compatible with Arduino Ecosystem (RTduino)

2 Arduino引脚排布

更多引脚布局相关信息参见 pins_arduino.cpins_arduino.h

blue-pill-f103-pinout

Arduino引脚编号 STM32引脚编号 5V容忍 备注
0 (D0) PB7
1 (D1) PB6
2 (D2) PB5 PWM3-CH2,默认被RT-Thread的PWM设备框架pwm3接管
3 (D3) PB4 PWM3-CH1,默认被RT-Thread的PWM设备框架pwm3接管
4 (D4) PB3 PWM2-CH2,默认被RT-Thread的PWM设备框架pwm2接管
5 (D5) PA15 PWM2-CH1,默认被RT-Thread的PWM设备框架pwm2接管
6 (D6) PA8
7 (D7, SS) PB12 SPI片选默认引脚
8 (D8, LED_BUILTIN) PC13 板载用户LED
9 (D9) PC14
10 (D10) PC15
11 (D11) PA0
12 (D12) PB0 PWM3-CH3,默认被RT-Thread的PWM设备框架pwm3接管
13 (D13) PB1 PWM3-CH4,默认被RT-Thread的PWM设备框架pwm3接管
14 (D14) PB9 I2C-SDA,默认被RT-Thread的I2C设备框架i2c1总线接管
15 (D15) PB8 I2C-SCL,默认被RT-Thread的I2C设备框架i2c1总线接管
16 (D16) PA12 USB-DP,默认被 TinyUSB软件包 接管
17 (D17) PA11 USB-DM,默认被 TinyUSB软件包 接管
18 (D18) PA10 Serial-Rx,默认被RT-Thread的UART设备框架uart1接管
19 (D19) PA9 Serial-Tx,默认被RT-Thread的UART设备框架uart1接管
20 (D20) PA2 Serial2-Tx,默认被RT-Thread的UART设备框架uart2接管
21 (D21) PA3 Serial2-Rx,默认被RT-Thread的UART设备框架uart2接管
22 (D22) PB10 Serial3-Tx,默认被RT-Thread的UART设备框架uart3接管
23 (D23) PB11 Serial3-Rx,默认被RT-Thread的UART设备框架uart3接管
24 (D24) PB15 SPI-MOSI,默认被RT-Thread的SPI设备框架spi2接管
25 (D25) PB14 SPI-MISO,默认被RT-Thread的SPI设备框架spi2接管
26 (D26) PB13 SPI-SCK ,默认被RT-Thread的SPI设备框架spi2接管
27 (A0) PA1 ADC1-CH1,默认被RT-Thread的ADC设备框架adc1接管
28 (A1) PA4 ADC1-CH4,默认被RT-Thread的ADC设备框架adc1接管
29 (A2) PA5 ADC1-CH5,默认被RT-Thread的ADC设备框架adc1接管
30 (A3) PA6 ADC1-CH6,默认被RT-Thread的ADC设备框架adc1接管
31 (A4) PA7 ADC1-CH7,默认被RT-Thread的ADC设备框架adc1接管
32 (A5) -- 芯片内部参考电压 ADC,默认被RT-Thread的ADC设备框架adc1接管
33 (A6) -- 芯片内部温度 ADC,默认被RT-Thread的ADC设备框架adc1接管

注意:

  1. 如果同时驱动舵机和调度analogWrite函数要选择不同定时器发生的PWM信号引脚,由于STM32的定时器4个通道需要保持相同的频率,如果采用相同的定时器发生的PWM分别驱动舵机和analogWrite,可能会导致舵机失效。

3 通信

3.1 I2C (Wire.h)

I2C总线是 D14D15 引脚,这两个引脚默认是被RT-Thread I2C设备框架接管的,直接引用#include <Wire.h>(Arduino官方I2C头文件)即可使用。

3.2 SPI

SPI总线是 D24D25D26 引脚,这三个引脚默认是被RT-Thread SPI设备框架接管的,直接引用#include <SPI.h>(Arduino官方SPI头文件)即可使用。此外,还使用到了片选引脚(SS),默认为 D7

3.3 串口

默认支持通过 Serial. 方法调用 uart1 串口设备;通过 Serial2. 方法调用 uart2 串口设备;通过 Serial3. 方法调用 uart3 串口设备。详见例程

3.4 USB虚拟串口

本BSP支持USB虚拟串口,如果需要使用,可以手动使能。详见例程

RT-Thread online packages --->
    Arduino libraries --->
        [*] RTduino: Arduino Ecological Compatibility Layer
            [*] Enable USB Serial
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/rtthread/rt-thread.git
git@gitee.com:rtthread/rt-thread.git
rtthread
rt-thread
rt-thread
master

搜索帮助

371d5123 14472233 46e8bd33 14472233