根据原理图可以,使用的串口是USART1 对应引脚是PA9 PA10。 


下面我开始从0到1完成整个USART1工程创建到打印测试的整个流程
1.打开cubumx
 

 

 


2.选择外部时钟
 

 


3.选择好串口USART1
 


3.选择用户LED PA5
 

 

 

 

 


4.配置工程参数
 


5.打开KEIL工程
先重定义printf
先添加头文件#include <stdio.h>
 


在串口USART1.c文件添加
/* USER CODE BEGIN 1 */
int fputc(int ch, FILE *f)
{
  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
  return ch;
}
/* USER CODE END 1 */

到此完成了printf的重定义
5.在main函数添加测试代码
int main(void)
{

  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */


  printf("欢迎来到STM32意法半导体公司 \n\r");
  printf("【NUCLEO-STM32U385RG】——2.串口USART1打印测试\n\r");
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

编译烧录代码
6.打开串口助手,115200波特率
 

 


可以看到串口prinf工程测试正常
7.附件是我的工程代码
 

 USART1.zip (1.36 MB, 下载次数: 1)


---------------------
作者:龙鳞铁碎牙
链接:https://bbs.21ic.com/icview-3469270-1-1.html?_dsign=0664c968
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐