[STM32F1] stm32f1程序串口发送代码(示例)

[复制链接]
 楼主| 小夏天的大西瓜 发表于 2024-7-30 17:00 | 显示全部楼层 |阅读模式
单片机程序串口发送代码(示例)

  1. #include "stm32f1xx_hal.h"   
  2. UART_HandleTypeDef huart1;   
  3. void SystemClock_Config(void);  
  4. static void MX_GPIO_Init(void);  
  5. static void MX_USART1_UART_Init(void);  

  6. int main(void)  
  7. {  
  8.     HAL_Init();  
  9.     SystemClock_Config();  
  10.     MX_GPIO_Init();  
  11.     MX_USART1_UART_Init();  

  12.     char *hello = "AT+ADC=123,456,789\r\n"; // 要发送的字符串,包含回车和换行符  
  13.     HAL_UART_Transmit(&huart1, (uint8_t *)hello, strlen(hello), HAL_MAX_DELAY); // 发送字符串  

  14.     while (1)          // 主循环,可以在这里添加其他任务  
  15.     {  
  16.     }  
  17. }  

  18. static void MX_USART1_UART_Init(void)  // USART1初始化函数  
  19. {  
  20.     huart1.Instance = USART1;  
  21.     huart1.Init.BaudRate = 115200;  
  22.     huart1.Init.WordLength = UART_WORDLENGTH_8B;  
  23.     huart1.Init.StopBits = UART_STOPBITS_1;  
  24.     huart1.Init.Parity = UART_PARITY_NONE;  
  25.     huart1.Init.Mode = UART_MODE_TX_RX;  
  26.     huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;  
  27.     huart1.Init.OverSampling = UART_OVERSAMPLING_16;  
  28.     if (HAL_UART_Init(&huart1) != HAL_OK)  
  29.     {   // 初始化错误处理  
  30.         Error_Handler();  
  31.     }  
  32. }  

  33. static void MX_GPIO_Init(void)  // GPIO初始化函数  
  34. {   // USART1 TX (PA9) 和 RX (PA10) 的GPIO初始化  
  35.     __HAL_RCC_GPIOA_CLK_ENABLE();  
  36.     GPIO_InitTypeDef GPIO_InitStruct = {0};  
  37.     GPIO_InitStruct.Pin = GPIO_PIN_9;  
  38.     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;  
  39.     GPIO_InitStruct.Pull = GPIO_NOPULL;  
  40.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;  
  41.     GPIO_InitStruct.Alternate = GPIO_AF7_USART1;  
  42.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);  
  43. }  



米多0036 发表于 2024-8-31 13:03 | 显示全部楼层
TX引脚配置为推挽输出模式,RX引脚配置为输入模式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

257

主题

2238

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部