cancel
Showing results for 
Search instead for 
Did you mean: 

UART Communication with e paper display fails

eegdemir
Associate II

Hello Guys,

I am using waveshare 4.3 inch e paper UART display module. I looked to manual thousand time and I found a library called epd. this library was written in cpp and I rewrote for my stm32f411RE nucleo board in c and HAL Library. Buffer working good and I am transmitting hex codes to my computer. But the screen doesn't respond to these commands. I need for your help. My files and displays wiki are attached.

Thank you!!

 

https://www.waveshare.com/wiki/4.3inch_e-Paper_UART_Module 

 

 

 

7 REPLIES 7

Not sure there are a lot with the hardware to do the debug for you.

The IsSend will need to be volatile if changed in interrupt/callback.

Perhaps add diagnostic / telemetry output via serial so you can observe the interactions between the STM32 and display. Use a scope or logic analyzer to check the hardware level interactions.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Pavel A.
Evangelist III

Here you can get help with this. 

Thank you for your answer!! 

I am sending data to display via USART2 which connected both pc and display and I observed the data that board send to display. At the pc side everything fine but display doesn't respond. 

wiki says there is a parity bit but it is in the library. should I set a parity bit by cube mx? but I don't know how to set that because wiki doesn't say what parity is that (odd or even).

You can try it - just set (in cubemx) in usart2  parity , then try.

If still no response, change odd/even and try again.

If you feel a post has answered your question, please click "Accept as Solution".

Current set to no-parity, ie 8N1

 

/**
  * @brief USART2 Initialization Function
  * @PAram None
  * @retval None
  */
static void MX_USART2_UART_Init(void)
{
  /* USER CODE BEGIN USART2_Init 0 */

  /* USER CODE END USART2_Init 0 */

  /* USER CODE BEGIN USART2_Init 1 */

  /* USER CODE END USART2_Init 1 */
  huart2.Instance = USART2;
  huart2.Init.BaudRate = 115200;
  huart2.Init.WordLength = UART_WORDLENGTH_8B;
  huart2.Init.StopBits = UART_STOPBITS_1;
  huart2.Init.Parity = UART_PARITY_NONE;
  huart2.Init.Mode = UART_MODE_TX_RX;
  huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  huart2.Init.OverSampling = UART_OVERSAMPLING_16;
  if (HAL_UART_Init(&huart2) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN USART2_Init 2 */

  /* USER CODE END USART2_Init 2 */
}

 

 

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..

it didnt work bro 

ı try both of them it didnt work