я помогу вам с последовательностью выучить протоколы OBDII
в первую очередь, вы должны знать об ECU вашего автомобиля.может быть, этот ECU не поддерживает CAN-протокол (ISO 15765), и поэтому вы не можете прочитать свой eCU с помощью CAN
какая у вас модель ecu?
Сначала я предлагаю вам в cube mx создать проект, включите один последовательный и можете
, затем включите прерывание CAN protovcol
в обработчике прерываний CAN, используйте этот пример кода:
CanRxMsg RxMessage;
CanTxMsg TxMessage;
/* receive */
CAN_Receive(CAN1, CAN_FIFO0, &RxMessage);
printf("idv: %u ",RxMessage.IDE);
printf("exID: %04X ",RxMessage.ExtId);
printf("ID: %03X ",RxMessage.StdId);
printf("DLC: %02X ",RxMessage.DLC);
printf("DATA:");
for(i=0;i<RxMessage.DLC;i++)
{
printf(" %02X ",RxMessage.Data[i]);
}
printf("\r\n");
этот код преобразует полученный массаж CAN вserial (ваша последовательная скорость передачи данных должна быть 115200) (и ваша скорость передачи CAN должна быть 500k), затем подключите плату к последовательному монитору на вашем ПК, вы увидите, что внутренняя машина отправляет приемный массаж, например:
idv: 0 exID: 80012CC ID: 43F DLC: 08 DATA: 00 40 60 FF 68 48 09 00
idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00 00 00 00 00 00 00 00
idv: 0 exID: 80012CC ID: 440 DLC: 08 DATA: FF 00 00 00 FF 47 09 00
idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00 00 00 00 00 00 00 00
idv: 0 exID: 80012CC ID: 545 DLC: 08 DATA: 80 47 00 8B 00 00 00 00
idv: 0 exID: 80012CC ID: 690 DLC: 08 DATA: 00 00 00 00 00 00 0C 00
idv: 0 exID: 80012CC ID: 7DF DLC: 08 DATA: 02 01 0C 00 00 00 00 00
idv: 0 exID: 80012CC ID: 7E8 DLC: 08 DATA: 04 41 0C 09 C8 00 00 00
idv: 0 exID: 80012CC ID: 545 DLC: 08 DATA: 80 00 00 8A 00 00 00 00
idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00 00 00 00 00 00 00 00
idv: 0 exID: 80012CC ID: 440 DLC: 08 DATA: FF 00 00 00 FF 4D 09 00
idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00 00 00 00 00 00 00 00
idv: 0 exID: 80012CC ID: 545 DLC: 08 DATA: 80 00 00 8C 00 00 00 00
idv: 0 exID: 80012CC ID: 440 DLC: 08 DATA: FF 00 00 00 FF 4F 09 00
idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00 00 00 00 00 00 00 00
idv: 0 exID: 80012CC ID: 440 DLC: 08 DATA: FF 00 00 00 FF 52 09 00
idv: 0 exID: 80012CC ID: 545 DLC: 08 DATA: 80 00 00 8A 00 00 00 00
idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00 00 00 00 00 00 00 00
idv: 0 exID: 80012CC ID: 690 DLC: 08 DATA: 00 00 00 00 00 00 10 00
idv: 0 exID: 80012CC ID: 7DF DLC: 08 DATA: 02 01 0C 00 00 00 00 00
idv: 0 exID: 80012CC ID: 329 DLC: 08 DATA: 86 BD 6B 10 11 20 00 14
idv: 0 exID: 80012CC ID: 7E8 DLC: 08 DATA: 04 41 0C 09 DC 00 00 00
...