Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
xiaoxuan
Level 3
Level 3
50 sign-ins 25 replies posted 25 sign-ins

HI,

I had some problems communicating with flaxray using TC375

The following is the configuration of the frame header. It is normal to configure communication in this way.

ID: 8 Can send data to another controller

ID:9 Indicates that data of another controller can be received

xiaoxuan_1-1680587548931.png

Below I have modified MessageBuffers = 8

so that the controller cannot send or receive data

May I ask what went wrong with my configuration and how to modify it?

xiaoxuan_2-1680587760941.png

 

 

0 Likes
1 Solution
Di_W
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 100 likes received

 

    for (bufferCount = 0; bufferCount < config->numberOfMessageBuffers; bufferCount++)
    {
        IfxEray_setSlot(eraySFR, config->header[bufferCount], config->data[bufferCount], config->slotControl[bufferCount]);
    }

 

 

Xiaoxuan, please refer to above source code in your project.

The IfxEray_setSlot() function is used to configure the message buffer and assign it to a specific slot in the communication cycle. 

  • eraySFR: a pointer to the ERAY SFR registers
  • config->header[bufferCount]: the header information for the buffer, as specified in the configuration settings
  • config->data[bufferCount]: the data payload for the buffer, as specified in the configuration settings
  • config->slotControl[bufferCount]: the slot control information for the buffer, as specified in the configuration settings

If you simply modify the buffer number without taking into account the buffer's RAM size, it could result in errors. It's important to review other sections of the source code to ensure that the buffer's RAM is allocated correctly.

 

View solution in original post

0 Likes
1 Reply
Di_W
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 100 likes received

 

    for (bufferCount = 0; bufferCount < config->numberOfMessageBuffers; bufferCount++)
    {
        IfxEray_setSlot(eraySFR, config->header[bufferCount], config->data[bufferCount], config->slotControl[bufferCount]);
    }

 

 

Xiaoxuan, please refer to above source code in your project.

The IfxEray_setSlot() function is used to configure the message buffer and assign it to a specific slot in the communication cycle. 

  • eraySFR: a pointer to the ERAY SFR registers
  • config->header[bufferCount]: the header information for the buffer, as specified in the configuration settings
  • config->data[bufferCount]: the data payload for the buffer, as specified in the configuration settings
  • config->slotControl[bufferCount]: the slot control information for the buffer, as specified in the configuration settings

If you simply modify the buffer number without taking into account the buffer's RAM size, it could result in errors. It's important to review other sections of the source code to ensure that the buffer's RAM is allocated correctly.

 

0 Likes