C2000 CAN RX
Show older comments
Dear All,
I am using Simulink to build a model to receive CAN messages. You can see diagram below. I am getting "error: expression must have struct or union type" error. Please help me. How can I solve that?
Thanks.
"ykarata1_BMS_C2000_RX_deneme.c", line 67: error: expression must have struct or union type
"ykarata1_BMS_C2000_RX_deneme.c", line 68: error: expression must have struct or union type
"ykarata1_BMS_C2000_RX_deneme.c", line 70: error: expression must have struct or union type
"ykarata1_BMS_C2000_RX_deneme.c", line 71: error: expression must have struct or union type
"ykarata1_BMS_C2000_RX_deneme.c", line 73: error: expression must have struct or union type
/* S-Function (scanunpack): '<S1>/CAN Unpack' */
65 {
66 /* S-Function (scanunpack): '<S1>/CAN Unpack' */
67 if ((1 == ykarata1_BMS_C2000_RX_deneme_B.eCANReceive_o2[0].Length) &&
68 (ykarata1_BMS_C2000_RX_deneme_B.eCANReceive_o2[0].ID != INVALID_CAN_ID)
69 ) {
70 if ((4 == ykarata1_BMS_C2000_RX_deneme_B.eCANReceive_o2[0].ID) && (0U ==
71 ykarata1_BMS_C2000_RX_deneme_B.eCANReceive_o2[0].Extended) ) {
72 (void) memcpy(&ykarata1_BMS_C2000_RX_deneme_B.CANUnpack,
73 ykarata1_BMS_C2000_RX_deneme_B.eCANReceive_o2[0].Data,
74 1 * sizeof(uint8_T));
75 }
76 }
77 }

1 Comment
Erich Russenberger
on 4 Jul 2024
@Yusuf Selim KARATAS, did you solve this issue? I have the same now.. thanks.
Answers (1)
UDAYA PEDDIRAJU
on 30 Aug 2024
0 votes
Hi Yusuf,
The error "expression must have struct or union type" in your Simulink model indicates a mismatch in data types.
To resolving it:
- Ensure that ykarata1_BMS_C2000_RX_deneme_B.eCANReceive_o2[0] and ykarata1_BMS_C2000_RX_deneme_B.CANUnpack have compatible data structures.
- Double-check that you're using correct indices to access elements within the eCANReceive_o2 array.
- If necessary, cast data to the appropriate type using (struct *) or (union *).
Categories
Find more on Texas Instruments C2000 Processors in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!