mirror of https://github.com/ARMmbed/mbed-os.git
[NUCLEO_F446RE] Added CAN support
Added CAN API support for NUCLEO_F446RE target. Change-Id: I6e585fd5ef9e5395c1dc5b9c31d09427927a0021pull/1771/head
parent
bddce7ce7e
commit
96787cd79e
|
@ -87,6 +87,11 @@ typedef enum {
|
|||
PWM_14 = (int)TIM14_BASE
|
||||
} PWMName;
|
||||
|
||||
typedef enum {
|
||||
CAN_1 = (int)CAN1_BASE,
|
||||
CAN_2 = (int)CAN2_BASE
|
||||
} CANName;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -232,3 +232,19 @@ const PinMap PinMap_SPI_SSEL[] = {
|
|||
{PB_12, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
|
||||
{NC, NC, 0}
|
||||
};
|
||||
|
||||
const PinMap PinMap_CAN_RD[] = {
|
||||
{PB_8, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
|
||||
{PB_12, CAN_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)},
|
||||
{PB_5 , CAN_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)},
|
||||
{PA_11, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
|
||||
{NC, NC, 0}
|
||||
};
|
||||
|
||||
const PinMap PinMap_CAN_TD[] = {
|
||||
{PB_9, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
|
||||
{PB_13, CAN_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)},
|
||||
{PB_6 , CAN_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)},
|
||||
{PA_12, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)},
|
||||
{NC, NC, 0}
|
||||
};
|
||||
|
|
|
@ -54,6 +54,8 @@
|
|||
|
||||
#define DEVICE_SLEEP 1
|
||||
|
||||
#define DEVICE_CAN 1
|
||||
|
||||
//=======================================
|
||||
|
||||
#define DEVICE_SEMIHOST 0
|
||||
|
|
|
@ -104,6 +104,11 @@ struct pwmout_s {
|
|||
uint8_t inverted;
|
||||
};
|
||||
|
||||
struct can_s {
|
||||
CANName can;
|
||||
int index;
|
||||
};
|
||||
|
||||
#include "gpio_object.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -17,7 +17,7 @@ CAN can1(PD_0, PD_1);
|
|||
#elif defined(TARGET_NUCLEO_F091RC) || defined(TARGET_NUCLEO_F072RB) || \
|
||||
defined(TARGET_NUCLEO_F042K6) || defined(TARGET_NUCLEO_F334R8) || \
|
||||
defined(TARGET_NUCLEO_F303RE) || defined(TARGET_NUCLEO_F303K8) || \
|
||||
defined(TARGET_NUCLEO_F302R8)
|
||||
defined(TARGET_NUCLEO_F302R8) || defined(TARGET_NUCLEO_F446RE)
|
||||
CAN can1(PA_11, PA_12);
|
||||
#else
|
||||
CAN can1(p9, p10);
|
||||
|
@ -27,6 +27,8 @@ CAN can1(p9, p10);
|
|||
CAN can2(p34, p33);
|
||||
#elif defined (TARGET_LPC1768)
|
||||
CAN can2(p30, p29);
|
||||
#elif defined(TARGET_NUCLEO_F446RE)
|
||||
CAN can2(PB_5, PB_6);
|
||||
#endif
|
||||
char counter = 0;
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ CAN can1(PD_0, PD_1);
|
|||
#elif defined(TARGET_NUCLEO_F091RC) || defined(TARGET_NUCLEO_F072RB) || \
|
||||
defined(TARGET_NUCLEO_F042K6) || defined(TARGET_NUCLEO_F334R8) || \
|
||||
defined(TARGET_NUCLEO_F303RE) || defined(TARGET_NUCLEO_F303K8) || \
|
||||
defined(TARGET_NUCLEO_F302R8)
|
||||
defined(TARGET_NUCLEO_F302R8) || defined(TARGET_NUCLEO_F446RE)
|
||||
CAN can1(PA_11, PA_12);
|
||||
#else
|
||||
CAN can1(p9, p10);
|
||||
|
@ -27,6 +27,8 @@ CAN can1(p9, p10);
|
|||
CAN can2(p34, p33);
|
||||
#elif defined (TARGET_LPC1768)
|
||||
CAN can2(p30, p29);
|
||||
#elif defined(TARGET_NUCLEO_F446RE)
|
||||
CAN can2(PB_5, PB_6);
|
||||
#endif
|
||||
char counter = 0;
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ CAN can1(P5_9, P5_10);
|
|||
#elif defined(TARGET_NUCLEO_F091RC) || defined(TARGET_NUCLEO_F072RB) || \
|
||||
defined(TARGET_NUCLEO_F042K6) || defined(TARGET_NUCLEO_F334R8) || \
|
||||
defined(TARGET_NUCLEO_F303RE) || defined(TARGET_NUCLEO_F303K8) || \
|
||||
defined(TARGET_NUCLEO_F302R8)
|
||||
defined(TARGET_NUCLEO_F302R8) || defined(TARGET_NUCLEO_F446RE)
|
||||
CAN can1(PA_11, PA_12);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -98,6 +98,7 @@ Wiring:
|
|||
* NUCLEO_F303RE: (RX=PA_11, TX=PA_12)
|
||||
* NUCLEO_F303K8: (RX=PA_11, TX=PA_12)
|
||||
* NUCLEO_F302R8: (RX=PA_11, TX=PA_12)
|
||||
* NUCLEO_F446RE: (RX=PA_11, TX=PA_12)
|
||||
|
||||
"""
|
||||
TESTS = [
|
||||
|
@ -305,7 +306,7 @@ TESTS = [
|
|||
"peripherals": ["can_transceiver"],
|
||||
"mcu": ["LPC1549", "LPC1768","B96B_F446VE", "VK_RZ_A1H",
|
||||
"NUCLEO_F091RC", "NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8",
|
||||
"NUCLEO_F303RE", "NUCLEO_F303K8", "NUCLEO_F302R8"],
|
||||
"NUCLEO_F303RE", "NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE"],
|
||||
},
|
||||
{
|
||||
"id": "MBED_BLINKY", "description": "Blinky",
|
||||
|
@ -578,7 +579,7 @@ TESTS = [
|
|||
"dependencies": [MBED_LIBRARIES],
|
||||
"mcu": ["LPC1768", "LPC4088", "LPC1549", "RZ_A1H", "B96B_F446VE", "NUCLEO_F091RC",
|
||||
"NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F303RE",
|
||||
"NUCLEO_F303K8", "NUCLEO_F302R8"]
|
||||
"NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE"]
|
||||
},
|
||||
{
|
||||
"id": "MBED_30", "description": "CAN network test using interrupts",
|
||||
|
@ -586,7 +587,7 @@ TESTS = [
|
|||
"dependencies": [MBED_LIBRARIES],
|
||||
"mcu": ["LPC1768", "LPC4088", "LPC1549", "RZ_A1H", "B96B_F446VE", "NUCLEO_F091RC",
|
||||
"NUCLEO_F072RB", "NUCLEO_F042K6", "NUCLEO_F334R8", "NUCLEO_F303RE",
|
||||
"NUCLEO_F303K8", "NUCLEO_F302R8"]
|
||||
"NUCLEO_F303K8", "NUCLEO_F302R8", "NUCLEO_F446RE"]
|
||||
},
|
||||
{
|
||||
"id": "MBED_31", "description": "PWM LED test",
|
||||
|
|
Loading…
Reference in New Issue