2024-08-21 07:59 AM
I tried to send a LIN frame by creating a task .
The code didn't conatin any error but the frame wasn't sent
What could be the problem ?
This is my project
Solved! Go to Solution.
2024-08-29 06:29 AM
Hello @Oussama_Baklouti,
As @SofLit mentioned, there are no custom code for the sendData() function that you have defined for your button. Please refer to the following documentations to learn about communication of TouchGFX with backend.
You can also take a look at the Board Specific Demos available in the TouchGFX Designer, like STM32F746G-Disco Intertask Communication Demo
STM32F476G-Disco Board Specific Demo
I hope this helps you!
2024-08-21 08:32 AM
Hello,
This is not TouchGFX subject and I'm wondering why you start with a complex example to debug LIN while you can start with a very simple one?
Start with a simple LIN project and debug it before going forward with TouchGFX and FreeRTOS.
2024-08-21 08:40 AM
I tried a simple LIN project "sending a LIN frame" using an ST board and it worked fine but when i used touchGFX the frame wasn't sent
2024-08-21 09:00 AM - edited 2024-08-22 03:45 AM
@Oussama_Baklouti wrote:
I tried a simple LIN project "sending a LIN frame" using an ST board and it worked fine but when i used touchGFX the frame wasn't sent
This statement is important to locate the issue and normally it should said from the beginning 😉
So you have an issue in your GUI programming. I let my TouchGFX colleagues help you.
It's related to this thread: https://community.st.com/t5/stm32-mcus-products/endless-loop-when-running-scb-enabledcache/td-p/710257
2024-08-22 08:22 AM - edited 2024-08-22 08:25 AM
Hello,
Just opened your project and see that you are not using TouchGFX to send LIN data (nothing in Model.cpp nor in Screen1View.cpp)!
Could you please confirm that the issue is in SendData_Task() where you are sending LIN data?
void SendData_Task(void *argument)
{
/* USER CODE BEGIN SendData_Task */
/* Infinite loop */
for(;;)
{
uint8_t txBuffer[100];
for (int i = 0; i < sizeof(txBuffer); i++)
{
txBuffer[i] = i; // Example data
}
/* Send buffer via UART */
HAL_UART_Transmit(&huart3, txBuffer, sizeof(txBuffer), HAL_MAX_DELAY);
osDelay(1000);
}
/* USER CODE END SendData_Task */
}
In that case, most probably not related to TouchGFX topic.
From my side I'm reaching HAL_UART_Transmit(&huart3, txBuffer, sizeof(txBuffer), HAL_MAX_DELAY); in debug with issues.
Didn't test data on PB10 (USART3_TX).
2024-08-29 06:29 AM
Hello @Oussama_Baklouti,
As @SofLit mentioned, there are no custom code for the sendData() function that you have defined for your button. Please refer to the following documentations to learn about communication of TouchGFX with backend.
You can also take a look at the Board Specific Demos available in the TouchGFX Designer, like STM32F746G-Disco Intertask Communication Demo
STM32F476G-Disco Board Specific Demo
I hope this helps you!