1,DMA,UART配置:
2,代码配置
所用全局变量类型:
typedef struct QUE
{
uint8_t res_data[100];
uint8_t FLAG;
uint8_t res_counter;
struct QUE *next;
}QUE_UE_RES;
QUE_UE_RES QUE_buff[QUE_LEN];
QUE_UE_RES *UART_buff,*HAND_buff;
uint8_t RxCounter;
uint8_t *RxBuffer;
#define QUE_LEN 10 //uart缓存块长度
UART初始化:
void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
{
GPIO_InitTypeDef GPIO_InitStruct = {
0};
if(uartHandle->Instance==LPUART1)
{
/* USER CODE BEGIN LPUART1_MspInit 0 */
/* USER CODE END LPUART1_MspInit 0 */
/* LPUART1 clock enable */
__HAL_RCC_LPUART1_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/**LPUART1 GPIO Configuration
PB10 ------> LPUART1_TX
PB11 ------> LPUART1_RX
*/
GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;