OpenCR入门教程-布局以及引脚分配图
说明
- 本教程将介绍openCR的基本布局以及引脚分配图
基本布局以及引脚分配图

WARNING: Check the pinout! The pinout of Dynamixel can differ from the pinout of connector manufacturer.
1.Arduino Connector
OpenCR板包含一个与Arduino Uno pinmap兼容的连接器
其中的引脚0到21与Arduino Uno相同,然后将它们映射添加到OpenCR的引脚上

| Pin No. | Function | 1 | 2 | 3 | etc |
|---|---|---|---|---|---|
| 0 | UART RXD | UART6_RX | FT |
||
| 1 | UART TXD | UART6 TX | FT |
||
| 2 | EXTI_0 | FT |
|||
| 3 | PWM | TIM3_CH1 | EXTI_1 | FT |
|
| 4 | EXTI_2 | FT |
|||
| 5 | PWM | TIM1_CH1 | FT |
||
| 6 | PWM | TIM2_CH3 | FT |
||
| 7 | EXTI_3 | FT |
|||
| 8 | EXTI_4 | FT |
|||
| 9 | PWM | TIM9_CH2 | FT |
||
| 10 | PWM/NSS | TIM11_CH1 | SPI2_NSS | FT |
|
| 11 | PWM/MOSI | TIM12_CH2 | SPI2_MOSI | FT |
|
| 12 | MISO | SPI2_MISO | FT |
||
| 13 | SCK | SPI2_SCK | FT |
||
| 14 | SDA | I2C1_SDA | FT |
||
| 15 | SCL | I2C1_SCL | FT |
||
| 16 | ADC | A0 | FT |
||
| 17 | ADC | A1 | FT |
||
| 18 | ADC | A2 | FT |
||
| 19 | ADC | A3 | FT |
||
| 20 | ADC | A4 | FT |
||
| 21 | ADC | A5 | FT |
FT引脚为5V容忍,除非处于模拟模式
FT引脚上的最大注入电流为
-5mA另外,由所有I/O引脚的总输入出和总输出电流分别为
120mA/-120mA
2.User LED
- OpenCR板上有四个User LED,分别映射到Arduino的22-25针

| Name | Arduino Pin | Pin Name |
|---|---|---|
| USER1 | 22 | BDPIN_LED_USER_1 |
| USER2 | 23 | BDPIN_LED_USER_2 |
| USER3 | 24 | BDPIN_LED_USER_3 |
| USER4 | 25 | BDPIN_LED_USER_4 |
| STS | 36 | BDPIN_LED_STATUS |
| Arduino | 13 | LED_BUILTIN |
3.Dip Switch

| Arduino Pin | Pin Name |
|---|---|
| 26 | BDPIN_DIP_SW_1 |
| 27 | BDPIN_DIP_SW_2 |
4.GPIO
- openCR板有一个18针通用GPIO扩展,并映射到Arduino的GPIO针

| Pin Number | Arduino Pin | Pin Name | Pin Number | Arduino Pin | Pin Name | etc |
|---|---|---|---|---|---|---|
| 1 | - | 3.3V | 2 | - | GND | - |
| 3 | 50 | BDPIN_GPIO_1 | 4 | 51 | BDPIN_GPIO_2 | FT |
| 5 | 52 | BDPIN_GPIO_3 | 6 | 53 | BDPIN_GPIO_4 | FT |
| 7 | 54 | BDPIN_GPIO_5 | 8 | 55 | BDPIN_GPIO_6 | FT |
| 9 | 56 | BDPIN_GPIO_7 | 10 | 57 | BDPIN_GPIO_8 | FT |
| 11 | 58 | BDPIN_GPIO_9 | 12 | 59 | BDPIN_GPIO_10 | FT |
| 13 | 60 | BDPIN_GPIO_11 | 14 | 61 | BDPIN_GPIO_12 | FT |
| 15 | 62 | BDPIN_GPIO_13 | 16 | 63 | BDPIN_GPIO_14 | FT |
| 17 | 64 | BDPIN_GPIO_15 | 18 | 65 | BDPIN_GPIO_16 | FT |
| 19 | 66 | BDPIN_GPIO_17 | 20 | 67 | BDPIN_GPIO_18 | FT |
FT pins are 5V tolerant except when in analog mode. The maximum injected current on FT pins are-5mA. Also total output current sunk/sourced by sum of all I/O pins are120mA/-120mArespectively.
NOTE : 其上拉/下拉电阻为40kΩ
5.ROBOTIS 5-pin Connector

6.Push Switch

| Arduino Pin | Pin Name |
|---|---|
| 34 | BDPIN_PUSH_SW_1 |
| 35 | BDPIN_PUSH_SW_2 |
7.External Interrupt
- 外部中断分配给以下引脚,并且可以与attachInterrupt(EXTI_Pin,callbackFunction,Mode)宏一起使用
| EXTI Pin | Arduino Pin | Pin Name |
|---|---|---|
| 0 | 2 | - |
| 1 | 3 | TIM3_CH1 |
| 2 | 4 | - |
| 3 | 7 | - |
| 4 | 8 | - |
| 5 | 42 | OLLO_P1_ADC |
| 6 | 45 | OLLO_P2_ADC |
| 7 | 72 | OLLO_P3_ADC |
| 8 | 75 | OLLO_P4_ADC |
/*
EXTI_0 is assigned to Arduino PIN 2
*/
pinmode(2, INPUT_PULLDOWN); //set Arduino Pin 2 as input with pull-down
attachInterrupt(0, changeDirection_EXIT_0, RISING);
void changeDirection_EXIT_0(void){
Serial.println("EXIT_Interrupt! 0");
}
8.UART(Serial)
| Class Instance | Arduino Pin | Hardware |
|---|---|---|
| Serial | USB | USB |
| Serial1 | 0(RX), 1(TX) | USART6 |
| Serial2 (SerialBT1) | UART1 | USART2 |
| Serial3 | DXL Port | USART3 |
| Serial4 (SerialBT2) | UART2 | UART8 |
- 注意:由于Serial3用于Dynamixel,因此其用法与其他串口不同(更多相关信息,请参阅DynamixelWorkbench)
9.Pin Definition
extern const Pin2PortMapArray g_Pin2PortMapArray[]=
{
{GPIOC, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 0 UART6_RX
{GPIOC, GPIO_PIN_6, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 1 UART6_TX
{GPIOG, GPIO_PIN_6, NULL, NO_ADC , NULL , NO_PWM , 0 }, // 2 EXTI_0
{GPIOB, GPIO_PIN_4, NULL, NO_ADC , &hTIM3 , TIM_CHANNEL_1, 1 }, // 3 TIM3_CH1 EXTI_1
{GPIOG, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , 2 }, // 4 EXTI_2
{GPIOA, GPIO_PIN_8, NULL, NO_ADC , &hTIM1 , TIM_CHANNEL_1, NO_EXTI }, // 5 TIM1_CH1
{GPIOA, GPIO_PIN_2, NULL, NO_ADC , &hTIM2 , TIM_CHANNEL_3, NO_EXTI }, // 6 TIM2_CH3
{GPIOC, GPIO_PIN_1, NULL, NO_ADC , NULL , NO_PWM , 3 }, // 7 EXTI_3
{GPIOC, GPIO_PIN_2, NULL, NO_ADC , NULL , NO_PWM , 4 }, // 8 EXTI_4
{GPIOA, GPIO_PIN_3, NULL, NO_ADC , &hTIM9 , TIM_CHANNEL_2, NO_EXTI }, // 9 TIM9_CH2
{GPIOB, GPIO_PIN_9, NULL, NO_ADC , &hTIM11, TIM_CHANNEL_1, NO_EXTI }, // 10 TIM11_CH1 SPI2_NSS
{GPIOB, GPIO_PIN_15, NULL, NO_ADC , &hTIM12, TIM_CHANNEL_2, NO_EXTI }, // 11 TIM12_CH2 SPI2_MOSI
{GPIOB, GPIO_PIN_14, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 12 SPI2_MISO
{GPIOA, GPIO_PIN_9, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 13 LED SPI2_SCK
{GPIOB, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 14 I2C1_SDA
{GPIOB, GPIO_PIN_8, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 15 I2C1_SCL
{GPIOA, GPIO_PIN_0, &hADC3, ADC_CHANNEL_0 , NULL , NO_PWM , NO_EXTI }, // 16 A0
{GPIOF, GPIO_PIN_10, &hADC3, ADC_CHANNEL_8 , NULL , NO_PWM , NO_EXTI }, // 17 A1
{GPIOF, GPIO_PIN_9, &hADC3, ADC_CHANNEL_7 , NULL , NO_PWM , NO_EXTI }, // 18 A2
{GPIOF, GPIO_PIN_8, &hADC3, ADC_CHANNEL_6 , NULL , NO_PWM , NO_EXTI }, // 19 A3
{GPIOF, GPIO_PIN_7, &hADC3, ADC_CHANNEL_5 , NULL , NO_PWM , NO_EXTI }, // 20 A4
{GPIOF, GPIO_PIN_6, &hADC3, ADC_CHANNEL_4 , NULL , NO_PWM , NO_EXTI }, // 21 A5
{GPIOG, GPIO_PIN_12, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 22 BDPIN_LED_USER_1
{GPIOE, GPIO_PIN_5, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 23 BDPIN_LED_USER_2
{GPIOE, GPIO_PIN_4, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 24 BDPIN_LED_USER_3
{GPIOG, GPIO_PIN_10, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 25 BDPIN_LED_USER_4
{GPIOG, GPIO_PIN_11, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 26 BDPIN_DIP_SW_1
{GPIOE, GPIO_PIN_6, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 27 BDPIN_DIP_SW_2
{GPIOA, GPIO_PIN_4, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 28 BDPIN_SPI_CS_IMU
{GPIOC, GPIO_PIN_0, &hADC3, ADC_CHANNEL_10, NULL , NO_PWM , NO_EXTI }, // 29 BDPIN_BAT_PWR_ADC
{GPIOC, GPIO_PIN_3, &hADC3, ADC_CHANNEL_13, NULL , NO_PWM , NO_EXTI }, // 30
{GPIOF, GPIO_PIN_14, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 31 BDPIN_BUZZER
{GPIOF, GPIO_PIN_15, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 32 BDPIN_DXL_PWR_EN
{GPIOG, GPIO_PIN_14, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 33
{GPIOG, GPIO_PIN_3, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 34 BDPIN_PUSH_SW_1
{GPIOC, GPIO_PIN_12, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 35 BDPIN_PUSH_SW_2
{GPIOG, GPIO_PIN_9, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 36 BDPIN_LED_STATUS
{GPIOA, GPIO_PIN_5, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 37 BDPIN_SPI_CLK_IMU
{GPIOA, GPIO_PIN_6, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 38 BDPIN_SPI_SDO_IMU
{GPIOB, GPIO_PIN_5, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 39 BDPIN_SPI_SDI_IMU
{GPIOB, GPIO_PIN_0, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 40 OLLO_P1_SIG1
{GPIOC, GPIO_PIN_8, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 41 OLLO_P1_SIG2
{GPIOA, GPIO_PIN_7, &hADC1, ADC_CHANNEL_7 , NULL , NO_PWM , 5 }, // 42 OLLO_P1_ADC EXTI_5
{GPIOC, GPIO_PIN_5, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 43 OLLO_P2_SIG1
{GPIOB, GPIO_PIN_1, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 44 OLLO_P2_SIG2
{GPIOC, GPIO_PIN_4, &hADC1, ADC_CHANNEL_14, NULL , NO_PWM , 6 }, // 45 OLLO_P2_ADC EXTI_6
{GPIOD, GPIO_PIN_10, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 46 OLLO_SLEEP
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 47
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 48
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 49
{GPIOB, GPIO_PIN_10, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 50 BDPIN_GPIO_1
{GPIOB, GPIO_PIN_11, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 51 BDPIN_GPIO_2
{GPIOC, GPIO_PIN_13, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 52 BDPIN_GPIO_3
{GPIOD, GPIO_PIN_2, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 53 BDPIN_GPIO_4
{GPIOE, GPIO_PIN_3, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 54 BDPIN_GPIO_5
{GPIOG, GPIO_PIN_2, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 55 BDPIN_GPIO_6
{GPIOE, GPIO_PIN_10, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 56 BDPIN_GPIO_7
{GPIOE, GPIO_PIN_11, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 57 BDPIN_GPIO_8
{GPIOE, GPIO_PIN_12, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 58 BDPIN_GPIO_9
{GPIOE, GPIO_PIN_13, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 59 BDPIN_GPIO_10
{GPIOE, GPIO_PIN_14, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 60 BDPIN_GPIO_11
{GPIOE, GPIO_PIN_15, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 61 BDPIN_GPIO_12
{GPIOF, GPIO_PIN_0, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 62 BDPIN_GPIO_13
{GPIOF, GPIO_PIN_1, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 63 BDPIN_GPIO_14
{GPIOF, GPIO_PIN_2, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 64 BDPIN_GPIO_15
{GPIOD, GPIO_PIN_8, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 65 BDPIN_GPIO_16
{GPIOF, GPIO_PIN_4, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 66 BDPIN_GPIO_17
{GPIOD, GPIO_PIN_9, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 67 BDPIN_GPIO_18
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 68
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 69
{GPIOF, GPIO_PIN_12, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 70 OLLO_P3_SIG1
{GPIOF, GPIO_PIN_11, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 71 OLLO_P3_SIG2
{GPIOF, GPIO_PIN_5, &hADC3, ADC_CHANNEL_15, NULL , NO_PWM , 7 }, // 72 OLLO_P3_ADC EXTI_7
{GPIOE, GPIO_PIN_9, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 73 OLLO_P4_SIG1
{GPIOE, GPIO_PIN_8, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 74 OLLO_P4_SIG2
{GPIOF, GPIO_PIN_3, &hADC3, ADC_CHANNEL_9 , NULL , NO_PWM , 8 }, // 75 OLLO_P4_ADC EXTI_8
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 76
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 77
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 78
{GPIOF, GPIO_PIN_7, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 79
{GPIOD, GPIO_PIN_6, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 80 BDPIN_UART1_RX
{GPIOD, GPIO_PIN_5, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 81 BDPIN_UART1_TX
{GPIOE, GPIO_PIN_0, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 82 BDPIN_UART2_RX
{GPIOE, GPIO_PIN_1, NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }, // 83 BDPIN_UART2_TX
{NULL , 0 , NULL, NO_ADC , NULL , NO_PWM , NO_EXTI }
};
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


















