stm32/can: Allow CAN pins to be configured per board.
This patch allows a given board to configure which pins are used for the
CAN peripherals, in a similar way to all the other bus peripherals (I2C,
UART, SPI). To enable CAN on a board the mpconfigboard.h file should
define (for example):
#define MICROPY_HW_CAN1_TX (pin_B9)
#define MICROPY_HW_CAN1_RX (pin_B8)
#define MICROPY_HW_CAN2_TX (pin_B13)
#define MICROPY_HW_CAN2_RX (pin_B12)
And the board config file should no longer define MICROPY_HW_ENABLE_CAN.
This commit is contained in:
@@ -736,7 +736,7 @@ void UART8_IRQHandler(void) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#if MICROPY_HW_ENABLE_CAN
|
||||
#if defined(MICROPY_HW_CAN1_TX)
|
||||
void CAN1_RX0_IRQHandler(void) {
|
||||
IRQ_ENTER(CAN1_RX0_IRQn);
|
||||
can_rx_irq_handler(PYB_CAN_1, CAN_FIFO0);
|
||||
@@ -754,7 +754,9 @@ void CAN1_SCE_IRQHandler(void) {
|
||||
can_sce_irq_handler(PYB_CAN_1);
|
||||
IRQ_EXIT(CAN1_SCE_IRQn);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(MICROPY_HW_CAN2_TX)
|
||||
void CAN2_RX0_IRQHandler(void) {
|
||||
IRQ_ENTER(CAN2_RX0_IRQn);
|
||||
can_rx_irq_handler(PYB_CAN_2, CAN_FIFO0);
|
||||
@@ -772,7 +774,7 @@ void CAN2_SCE_IRQHandler(void) {
|
||||
can_sce_irq_handler(PYB_CAN_2);
|
||||
IRQ_EXIT(CAN2_SCE_IRQn);
|
||||
}
|
||||
#endif // MICROPY_HW_ENABLE_CAN
|
||||
#endif
|
||||
|
||||
#if defined(MICROPY_HW_I2C1_SCL)
|
||||
void I2C1_EV_IRQHandler(void) {
|
||||
|
||||
Reference in New Issue
Block a user