2021-11-19 05:44 PM
Hi guys,
I'm currently working with Standard CAN. The maximum data length of each frame is 64 bytes. In HAL library, I see DLC parameter is limited from 0 to 8. So that means, I can only transmit 8 elements of an array (8 bytes for each element). In order to use full of 64 bytes, I tried to transmit 16 elements (4 bytes each) or 32 elements (2 bytes each) but they didn't work. Is there any way that I can transmit more than 8 elements? Many thanks!
2021-11-20 06:22 AM
Standard CAN is 8 byte payload. 64 Byte payload is FDCAN only. In the 8 bytes, transfer an index and upto 7 values at that index for up to 256 byte array.
2021-11-20 09:23 AM
The protocol is limited to 8 Bytes, you'll need to decompose the larger data across multiple packets,perhaps using the message STDID/EXTID to indicate a sequence number.