... /* USER CODE BEGIN Includes */ #include "math.h" #include "stdio.h" #include "stdlib.h" /* USER CODE END Includes */ ... /* USER CODE BEGIN 0 */ uint8_t Cmd_End[3] = {0xff,0xff,0xff}; void NEXTION_SendNum (char *obj, int32_t num) { uint8_t *buffer = malloc(30*sizeof (char)); int len = sprintf ((char *)buffer, "%s.val=%ld", obj, num); HAL_UART_Transmit(&huart1, buffer, len, 1000); HAL_UART_Transmit(&huart1, Cmd_End, 3, 100); free(buffer); } void NEXTION_SendString (char *ID, char *string) { char buf[50]; int len = sprintf (buf, "%s.txt=\"%s\"", ID, string); HAL_UART_Transmit(&huart1, (uint8_t *)buf, len, 1000); HAL_UART_Transmit(&huart1, Cmd_End, 3, 100); } void NEXTION_SendCommand (char *string) { char buf[50]; int len = sprintf (buf, "%s", string); HAL_UART_Transmit(&huart1, (uint8_t *)buf, len, 1000); HAL_UART_Transmit(&huart1, Cmd_End, 3, 100); } void NEXTION_VaweFormADD (int objid, int chnum, int addvalue) { char buf[50]; int len = sprintf (buf, "add %d,%d,%d", objid, chnum, addvalue); HAL_UART_Transmit(&huart1, (uint8_t *)buf, len, 1000); HAL_UART_Transmit(&huart1, Cmd_End, 3, 100); HAL_UART_Transmit(&huart1, (uint8_t *)buf, len, 1000); HAL_UART_Transmit(&huart1, Cmd_End, 3, 100); } uint8_t RxData = 0; uint8_t RxData2 = 0; void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { if (huart->Instance == USART1) { if (RxData == 0x01) { ///CurrentDisplayPage = 1; } HAL_UART_Receive_IT(&huart1, &RxData, 1); } if (huart->Instance == USART2) { HAL_UART_Receive_IT(&huart2, &RxData2, 1); NEXTION_SendNum("x1",RxData2); } } /* USER CODE END 0 */ ... ///Place next code in main loop: ///Place once -> to enable first UART recieve interrupt: HAL_UART_Receive_IT(&huart1, &RxData, 1); and HAL_UART_Receive_IT(&huart2, &RxData2, 1); ///To send data: NEXTION_SendString("t0","Let's Roll..."); ... |
