rt-thread/bsp/stm32/stm32f103-blue-pill/applications/arduino_pinout/README_zh.md

7.0 KiB
Raw Blame History

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 --->
        [*] Support Arduino

2 Arduino引脚排布

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可能会导致舵机失效。
  2. 更多引脚布局相关信息参见 pins_arduino.cpins_arduino.h

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 USB

默认支持USB虚拟串口详见例程

3.4 串口

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