Fix for missing UART 4 and 5 from STM32F104RE and STM32F103Z series boards. Note this code has not been fully tested

This commit is contained in:
rogerclarkmelbourne 2015-04-20 09:50:33 +10:00
parent bbf58007fa
commit 7b980c433e
3 changed files with 31 additions and 10 deletions

View File

@ -42,6 +42,11 @@
BOARD_USART##n##_TX_PIN, \ BOARD_USART##n##_TX_PIN, \
BOARD_USART##n##_RX_PIN) BOARD_USART##n##_RX_PIN)
#define DEFINE_HWSERIAL_UART(name, n) \
HardwareSerial name(UART##n, \
BOARD_USART##n##_TX_PIN, \
BOARD_USART##n##_RX_PIN)
#ifdef BOOTLOADER_maple #ifdef BOOTLOADER_maple
#if BOARD_HAVE_USART1 #if BOARD_HAVE_USART1
DEFINE_HWSERIAL(Serial1, 1); DEFINE_HWSERIAL(Serial1, 1);
@ -53,13 +58,13 @@
DEFINE_HWSERIAL(Serial3, 3); DEFINE_HWSERIAL(Serial3, 3);
#endif #endif
#if BOARD_HAVE_UART4 #if BOARD_HAVE_UART4
DEFINE_HWSERIAL(Serial4, 4); DEFINE_HWSERIAL_UART(Serial4, 4);
#endif #endif
#if BOARD_HAVE_UART5 #if BOARD_HAVE_UART5
DEFINE_HWSERIAL(Serial5, 5); DEFINE_HWSERIAL_UART(Serial5, 5);
#endif #endif
#if BOARD_HAVE_USART6 #if BOARD_HAVE_USART6
DEFINE_HWSERIAL(Serial6, 6); DEFINE_HWSERIAL_UART(Serial6, 6);
#endif #endif
#else #else
#if BOARD_HAVE_USART1 #if BOARD_HAVE_USART1
@ -72,13 +77,13 @@
DEFINE_HWSERIAL(Serial2, 3); DEFINE_HWSERIAL(Serial2, 3);
#endif #endif
#if BOARD_HAVE_UART4 #if BOARD_HAVE_UART4
DEFINE_HWSERIAL(Serial3, 4); DEFINE_HWSERIAL_UART(Serial3, 4);
#endif #endif
#if BOARD_HAVE_UART5 #if BOARD_HAVE_UART5
DEFINE_HWSERIAL(Serial4, 5); DEFINE_HWSERIAL_UART(Serial4, 5);
#endif #endif
#if BOARD_HAVE_USART6 #if BOARD_HAVE_USART6
DEFINE_HWSERIAL(Serial5, 6); DEFINE_HWSERIAL_UART(Serial5, 6);
#endif #endif
#endif #endif
HardwareSerial::HardwareSerial(usart_dev *usart_device, HardwareSerial::HardwareSerial(usart_dev *usart_device,

View File

@ -44,15 +44,23 @@
#define BOARD_BUTTON_PIN 38 #define BOARD_BUTTON_PIN 38
#define BOARD_LED_PIN 13 #define BOARD_LED_PIN 13
/* Note: UART4 and UART5 have pins which aren't broken out :( */ // USARTS
#define BOARD_NR_USARTS 3 #define BOARD_NR_USARTS 5
#define BOARD_USART1_TX_PIN PA9 #define BOARD_USART1_TX_PIN PA9
#define BOARD_USART1_RX_PIN PA10 #define BOARD_USART1_RX_PIN PA10
#define BOARD_USART2_TX_PIN PA2 #define BOARD_USART2_TX_PIN PA2
#define BOARD_USART2_RX_PIN PA3 #define BOARD_USART2_RX_PIN PA3
#define BOARD_USART3_TX_PIN PB10 #define BOARD_USART3_TX_PIN PB10
#define BOARD_USART3_RX_PIN PB11 #define BOARD_USART3_RX_PIN PB11
#define BOARD_USART4_TX_PIN PC10
#define BOARD_USART4_RX_PIN PC11
#define BOARD_USART5_TX_PIN PC12
#define BOARD_USART6_RX_PIN PD2
/* Note: /* Note:
* *
* SPI3 is unusable due to pin 43 (PB4) and NRST tie-together :(, but * SPI3 is unusable due to pin 43 (PB4) and NRST tie-together :(, but

View File

@ -44,15 +44,23 @@
#define BOARD_BUTTON_PIN 38 #define BOARD_BUTTON_PIN 38
#define BOARD_LED_PIN 13 #define BOARD_LED_PIN 13
/* Note: UART4 and UART5 have pins which aren't broken out :( */ // USARTS
#define BOARD_NR_USARTS 3 #define BOARD_NR_USARTS 5
#define BOARD_USART1_TX_PIN PA9 #define BOARD_USART1_TX_PIN PA9
#define BOARD_USART1_RX_PIN PA10 #define BOARD_USART1_RX_PIN PA10
#define BOARD_USART2_TX_PIN PA2 #define BOARD_USART2_TX_PIN PA2
#define BOARD_USART2_RX_PIN PA3 #define BOARD_USART2_RX_PIN PA3
#define BOARD_USART3_TX_PIN PB10 #define BOARD_USART3_TX_PIN PB10
#define BOARD_USART3_RX_PIN PB11 #define BOARD_USART3_RX_PIN PB11
#define BOARD_USART4_TX_PIN PC10
#define BOARD_USART4_RX_PIN PC11
#define BOARD_USART5_TX_PIN PC12
#define BOARD_USART6_RX_PIN PD2
/* Note: /* Note:
* *
* SPI3 is unusable due to pin 43 (PB4) and NRST tie-together :(, but * SPI3 is unusable due to pin 43 (PB4) and NRST tie-together :(, but