1 /* 2 * Copyright (c) 2006-2023, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2023-04-13 songw4232 first version 9 */ 10 11 #include <Arduino.h> 12 #include "pins_arduino.h" 13 #include <drv_gpio.h> 14 15 /* 16 * {Arduino Pin, RT-Thread Pin [, Device Name, Channel]} 17 * [] means optional 18 * Digital pins must NOT give the device name and channel. 19 * Analog pins MUST give the device name and channel(ADC, PWM or DAC). 20 * Arduino Pin must keep in sequence. 21 */ 22 const pin_map_t pin_map_table[]= 23 { 24 {D0, GET_PIN(G,8), "uart1"}, /* Serial-RX */ 25 {D1, GET_PIN(G,7), "uart1"}, /* Serial-TX */ 26 {D2, GET_PIN(F,15)}, 27 {D3, GET_PIN(E,13), "pwm1", 3}, /* PWM */ 28 {D4, GET_PIN(F,14)}, 29 {D5, GET_PIN(E,11), "pwm1", 2}, /* PWM */ 30 {D6, GET_PIN(E,9), "pwm1", 1}, /* PWM */ 31 {D7, GET_PIN(F,13)}, 32 {D8, GET_PIN(F,12)}, 33 {D9, GET_PIN(D,15), "pwm4", 4}, /* PWM */ 34 {D10, GET_PIN(D,14)}, 35 {D11, GET_PIN(A,7), "spi1"}, /* SPI-MOSI */ 36 {D12, GET_PIN(A,6), "spi1"}, /* SPI-MISO */ 37 {D13, GET_PIN(A,5), "spi1"}, /* SPI-SCK */ 38 {D14, GET_PIN(B,9), "i2c1"}, /* I2C-SDA (Wire) */ 39 {D15, GET_PIN(B,8), "i2c1"}, /* I2C-SCL (Wire) */ 40 {A0, GET_PIN(A,3), "adc1", 8}, /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */ 41 {A1, GET_PIN(A,2), "adc1", 7}, /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */ 42 {A2, GET_PIN(C,3), "adc1", 4}, /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */ 43 {A3, GET_PIN(B,0), "adc1", 15}, /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */ 44 {A4, GET_PIN(C,1), "adc1", 2}, /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */ 45 {A5, GET_PIN(C,0), "adc1", 1}, /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */ 46 }; 47