Arduino-STM32-CAN icon indicating copy to clipboard operation
Arduino-STM32-CAN copied to clipboard

dlc bigger than 8

Open gravefunc opened this issue 1 year ago • 7 comments

“Hi, I’m using an STM32F103 microcontroller, and I’m encountering an issue with the Data Length Code (DLC) exceeding 8.”

Extended ID: 0x09F20109 DLC: 8 Data: 0x60 0x1A 0x0 0xD0 0x7 0xEB 0x10 0x87<<dlc is 26 and data corrupted Extended ID: 0x09F20109 DLC: 8 Data: 0x61 0x82 0xFF 0x7F 0xFF 0x7F 0xFF 0xFF

Extended ID: 0x15FD0C09 DLC: 8 Data: 0xFF 0x1 0xE 0x56 0x3A 0x6 0xFF 0xFF<< this one priority is 5 and correct data is =ff 01 0e 6f 9f ff ff ff

Extended ID: 0x09F20009 DLC: 8 Data: 0x1 0x78 0x3 0xFF 0xFF 0x7F 0xFF 0xFF<<dlc is 8 and data is correct

gravefunc avatar Apr 30 '24 07:04 gravefunc

Extended ID: 0x09F20109 DLC: 8 Data: 0x60 0x1A 0x0 0xD0 0x7 0xEB 0x10 0x87<<dlc is 26 and data corrupted

DLC is 8. Why do you say that dlc is 26.

Extended ID: 0x15FD0C09 DLC: 8 Data: 0xFF 0x1 0xE 0x56 0x3A 0x6 0xFF 0xFF<< this one priority is 5 and correct data is =ff 01 0e 6f 9f ff ff ff

CAN Frame does not have priority.

nopnop2002 avatar Apr 30 '24 08:04 nopnop2002

Extended ID:9F20009 DLC: 8 buf: 0x1 0x7F 0x3 0xFF 0xFF 0x7F 0xFF 0xFF Extended ID:9F20109 DLC: 8 buf: 0xE0 0x1A 0x0 0xD0 0x7 0xEB 0x10 0x87 Extended ID:9F20109 DLC: 8 buf: 0xE1 0x82 0xFF 0x7F 0xFF 0x7F 0xFF 0xFF Extended ID:9F20109 DLC: 8 buf: 0xE2 0xFF 0xFF 0x0 0x0 0xFF 0xFF 0xFF Extended ID:9F20109 DLC: 8 buf: 0xE3 0x0 0x0 0x0 0x0 0x7F 0x7F 0xFF `

Extended ID:15FD0809 DLC: 8 buf: 0xFF 0x1 0xE 0x6F 0x9F 0xFF 0xFF 0xFF Extended ID:15FD0C09 DLC: 8 buf: 0xFF 0x1 0xE 0x56 0x3A 0x6 0xFF 0xFF Extended ID:9F20009 DLC: 8 buf: 0x1 0x80 0x3 0xFF 0xFF 0x7F 0xFF 0xFF

the correct one is something like this which is ID f201 still have some extra data I'm working on it DATA SHOWED ARE EXTRA

gravefunc avatar Apr 30 '24 09:04 gravefunc

I want to see the sender log.

nopnop2002 avatar Apr 30 '24 09:04 nopnop2002

IM USING https://github.com/ttlappalainen/NMEA2000 FOR ESP32 AND compare that output with yours in stm

this one https://github.com/mehrdad987/STM32_CAN/blob/main/examples/Read/Read.ino also gave that output i sent

gravefunc avatar Apr 30 '24 11:04 gravefunc

IM USING https://github.com/ttlappalainen/NMEA2000 FOR ESP32

Can you share this output?

Your STM32F103 is not a clone, is it?

https://hackaday.com/2020/10/22/stm32-clones-the-good-the-bad-and-the-ugly/

nopnop2002 avatar Apr 30 '24 21:04 nopnop2002

OUT PUT

5157828 : Pri:2 PGN:127488 Source:9 Dest:255 Len:8 Data:1,82,3,FF,FF,7F,FF,FF 5157839 : Pri:2 PGN:127489 Source:9 Dest:255 Len:26 Data:0,D0,7,EB,10,87,82,FF,7F,FF,7F,FF,FF,FF,FF,0,0,FF,FF,FF,0,0,0,0,7F,7F 5157882 : Pri:5 PGN:130312 Source:9 Dest:255 Len:8 Data:FF,1,E,6F,9F,FF,FF,FF 5157903 : Pri:5 PGN:130316 Source:9 Dest:255 Len:8 Data:FF,1,E,56,3A,6,FF,FF

gravefunc avatar May 01 '24 08:05 gravefunc

5157839 : Pri:2 PGN:127489 Source:9 Dest:255 Len:26 Data:0,D0,7,EB,10,87,82,FF,7F,FF,7F,FF,FF,FF,FF,0,0,FF,FF,FF,0,0,0,0,7F,7F

This is a NMEA2000 frame, not a CAN frame.

The maximum data length of a CAN frame is 8 bytes.

IM USING https://github.com/ttlappalainen/NMEA2000 FOR ESP32

Although the CAN and NMEA 2000 protocols use the same electrical signals, they are different communication methods. Since they use the same electrical signal, it is possible to communicate under certain conditions, but not under all conditions. You are trying to communicate with NMEA2000 using this repository, but it's not working.

https://en.wikipedia.org/wiki/NMEA_2000

nopnop2002 avatar May 01 '24 09:05 nopnop2002