Обновление
This commit is contained in:
parent
a69c7d81ac
commit
9439a5a915
20
CanPorts.c
20
CanPorts.c
|
|
@ -29,8 +29,8 @@ static void vCanPort_InitCAN0RxTxPin() {
|
||||||
PORT_InitType tInitStruct = {0U};
|
PORT_InitType tInitStruct = {0U};
|
||||||
GPIO_InitType tGpioInitStruct = {0};
|
GPIO_InitType tGpioInitStruct = {0};
|
||||||
|
|
||||||
/* CAN0_STB */
|
// CAN0_STB
|
||||||
/* PortC 30: MUX = GPIO output */
|
// PortC 30: MUX = GPIO output
|
||||||
tInitStruct.u32PortPins = PORT_PIN_30;
|
tInitStruct.u32PortPins = PORT_PIN_30;
|
||||||
tInitStruct.uPortPinMux.u32PortPinMode = PORT_GPIO_MODE;
|
tInitStruct.uPortPinMux.u32PortPinMode = PORT_GPIO_MODE;
|
||||||
PORT_InitPins(PORT_C, &tInitStruct);
|
PORT_InitPins(PORT_C, &tInitStruct);
|
||||||
|
|
@ -39,7 +39,7 @@ static void vCanPort_InitCAN0RxTxPin() {
|
||||||
tGpioInitStruct.ePinLevel = GPIO_LOW;
|
tGpioInitStruct.ePinLevel = GPIO_LOW;
|
||||||
GPIO_InitPins(GPIO_C, &tGpioInitStruct);
|
GPIO_InitPins(GPIO_C, &tGpioInitStruct);
|
||||||
|
|
||||||
/* Port C2: MUX = ALT3, CAN0_RX */
|
// Port C2: MUX = ALT3, CAN0_RX
|
||||||
tInitStruct.u32PortPins = PORT_PIN_2;
|
tInitStruct.u32PortPins = PORT_PIN_2;
|
||||||
tInitStruct.uPortPinMux.u32PortPinMode = PORTC_2_FLEXCAN0_RX;
|
tInitStruct.uPortPinMux.u32PortPinMode = PORTC_2_FLEXCAN0_RX;
|
||||||
tInitStruct.bPullEn = FALSE;
|
tInitStruct.bPullEn = FALSE;
|
||||||
|
|
@ -49,7 +49,7 @@ static void vCanPort_InitCAN0RxTxPin() {
|
||||||
tGpioInitStruct.ePinDirection = GPIO_IN;
|
tGpioInitStruct.ePinDirection = GPIO_IN;
|
||||||
GPIO_InitPins((GPIO_InstanceType) PORT_C, &tGpioInitStruct);
|
GPIO_InitPins((GPIO_InstanceType) PORT_C, &tGpioInitStruct);
|
||||||
|
|
||||||
/* Port C3: MUX = ALT3, CAN0_TX */
|
// Port C3: MUX = ALT3, CAN0_TX
|
||||||
tInitStruct.u32PortPins = PORT_PIN_3;
|
tInitStruct.u32PortPins = PORT_PIN_3;
|
||||||
tInitStruct.uPortPinMux.u32PortPinMode = PORTC_3_FLEXCAN0_TX;
|
tInitStruct.uPortPinMux.u32PortPinMode = PORTC_3_FLEXCAN0_TX;
|
||||||
PORT_InitPins(PORT_C, &tInitStruct);
|
PORT_InitPins(PORT_C, &tInitStruct);
|
||||||
|
|
@ -59,7 +59,10 @@ static void vCanPort_InitCAN0RxTxPin() {
|
||||||
GPIO_InitPins(GPIO_C, &tGpioInitStruct);
|
GPIO_InitPins(GPIO_C, &tGpioInitStruct);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t IdCanFilter[2] = {PROTOCOL_XCP_ID, 1};
|
const FilterTo_FLEXCAN_RxMbFilterType IdCanFilter[4] = {{FLEXCAN_ID_STD, 1, 1, 0},
|
||||||
|
{FLEXCAN_ID_STD, 2, 2, 1},
|
||||||
|
{FLEXCAN_ID_STD, 3, 3, 1},
|
||||||
|
{FLEXCAN_ID_EXT, 0x3, 0x3, 2}};
|
||||||
|
|
||||||
static void vCanPort_InitCan0() {
|
static void vCanPort_InitCan0() {
|
||||||
vCanPort_InitCAN0RxTxPin();
|
vCanPort_InitCAN0RxTxPin();
|
||||||
|
|
@ -77,13 +80,14 @@ static void vCanPort_InitCan0() {
|
||||||
DMA_REQ_FLEXCAN0,
|
DMA_REQ_FLEXCAN0,
|
||||||
|
|
||||||
(uint8_t *)&g_aRxDataBuf[0],
|
(uint8_t *)&g_aRxDataBuf[0],
|
||||||
|
16,
|
||||||
|
|
||||||
2,
|
|
||||||
IdCanFilter,
|
IdCanFilter,
|
||||||
|
4,
|
||||||
|
|
||||||
DMA1_IRQn,
|
DMA1_IRQn,
|
||||||
0x55,
|
0xFF,
|
||||||
1,
|
DMA1_IRQn,
|
||||||
|
|
||||||
FLEXCAN_BAUD_500K,
|
FLEXCAN_BAUD_500K,
|
||||||
FLEXCAN_ID_STD,
|
FLEXCAN_ID_STD,
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
#include "CanSerialPortFrame.h"
|
#include "CanSerialPortFrame.h"
|
||||||
|
|
||||||
#define PROTOCOL_XCP_ID 0x123
|
#define PROTOCOL_XCP_ID 0x23
|
||||||
|
|
||||||
#define PROTOCOL_CAN_XCP 0
|
#define PROTOCOL_CAN_XCP 0
|
||||||
#define PROTOCOL_CAN_RAW 1
|
#define PROTOCOL_CAN_RAW 1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue