Обновление
This commit is contained in:
parent
2176474a97
commit
cae06e71e3
64
CanPorts.c
64
CanPorts.c
|
|
@ -98,26 +98,66 @@ const FilterTo_FLEXCAN_RxMbFilterType IdCanSoftFilterCan0[countIdCanSoftFilterCa
|
|||
|
||||
#define countIdCanFilterFifoCan0 8
|
||||
const FLEXCAN_RxMbFilterType IdCanFilterFifoCan0[countIdCanFilterFifoCan0] = {
|
||||
{FLEXCAN_ID_STD, 0x100, 0x700},
|
||||
{FLEXCAN_ID_STD, 0x200, 0x700},
|
||||
// Фильтр 1: Точная маска для 0x150-0x157 (4 значения)
|
||||
{FLEXCAN_ID_STD, 0x150, 0x7F8},
|
||||
// Фильтр 2: Диапазон 0x200-0x27F (первые 5 значений из 0x2xx)
|
||||
{FLEXCAN_ID_STD, 0x200, 0x7E0},
|
||||
// Фильтр 3: Диапазон 0x280-0x29F (оставшиеся 2 значения из 0x2xx)
|
||||
{FLEXCAN_ID_STD, 0x280, 0x7E0},
|
||||
// Фильтр 4: Диапазон 0x300-0x3FF (4 значения)
|
||||
{FLEXCAN_ID_STD, 0x300, 0x700},
|
||||
{FLEXCAN_ID_STD, 0x400, 0x700},
|
||||
{FLEXCAN_ID_STD, 0x500, 0x700},
|
||||
{FLEXCAN_ID_STD, 0x600, 0x700},
|
||||
{FLEXCAN_ID_STD, Diag_To_CCU_CANID, 0x7FF},
|
||||
{FLEXCAN_ID_STD, Diag_Functional_CANID, 0x7FF}
|
||||
// Фильтр 5: Точная маска для 0x4D0-0x4DF (4 подряд идущих значения)
|
||||
{FLEXCAN_ID_STD, 0x4D0, 0x7F0},
|
||||
// Фильтр 6: Диапазон 0x500-0x5FF (10 значений)
|
||||
{FLEXCAN_ID_STD, 0x500, 0x700},
|
||||
{FLEXCAN_ID_STD, Diag_To_CCU_CANID, 0xFFF},
|
||||
{FLEXCAN_ID_STD, Diag_Functional_CANID, 0xFFF}
|
||||
};
|
||||
|
||||
/*
|
||||
uint32_t data[] = {
|
||||
0x00000150, // 50 01 00 00
|
||||
0x00000152, // 52 01 00 00
|
||||
0x00000153, // 53 01 00 00
|
||||
0x00000157, // 57 01 00 00
|
||||
0x00000243, // 43 02 00 00
|
||||
0x00000244, // 44 02 00 00
|
||||
0x00000247, // 47 02 00 00
|
||||
0x0000024C, // 4C 02 00 00
|
||||
0x0000025A, // 5A 02 00 00
|
||||
0x00000280, // 80 02 00 00
|
||||
0x00000298, // 98 02 00 00
|
||||
0x00000305, // 05 03 00 00
|
||||
0x00000365, // 65 03 00 00
|
||||
0x0000039D, // 9D 03 00 00
|
||||
0x000003C1, // C1 03 00 00
|
||||
0x000004D0, // D0 04 00 00
|
||||
0x000004D1, // D1 04 00 00
|
||||
0x000004D2, // D2 04 00 00
|
||||
0x000004D3, // D3 04 00 00
|
||||
0x0000050F, // 0F 05 00 00
|
||||
0x0000051A, // 1A 05 00 00
|
||||
0x00000521, // 21 05 00 00
|
||||
0x00000522, // 22 05 00 00
|
||||
0x00000523, // 23 05 00 00
|
||||
0x00000524, // 24 05 00 00
|
||||
0x00000589, // 89 05 00 00
|
||||
0x000005A1, // A1 05 00 00
|
||||
0x000005A2, // A2 05 00 00
|
||||
0x000005A3 // A3 05 00 00
|
||||
};
|
||||
*/
|
||||
|
||||
static void vCanPort_InitCan0() {
|
||||
vCanPort_InitCAN0RxTxPin();
|
||||
|
||||
|
||||
// uint32_t z[31];
|
||||
|
||||
// for (uint8_t i=0; i<31; ++i) {
|
||||
// z[i] = IdCanSoftFilterCan0[i].u32RxCanId;
|
||||
// }
|
||||
uint32_t z[31];
|
||||
uint32_t mask = 0;
|
||||
for (uint8_t i=0; i<29; ++i) {
|
||||
z[i] = IdCanSoftFilterCan0[i].u32RxCanId;
|
||||
mask |= z[i];
|
||||
}
|
||||
|
||||
vCanSerialPortFrameDMAInit(
|
||||
&CAN_PORTS.Can0,
|
||||
|
|
|
|||
Loading…
Reference in New Issue