你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-H533RE评测】+03 printf输出调试

[复制链接]
〃聪聪哥哥 发布时间:2024-7-30 20:51

编译软件:MDK5.38a,调试器使用板载的ST-linkV3(速度要快很多)

一:利用STM32cubeMX配置一下,串口的初始化;

查看一下原理图:

图片1.png

STM32H533RB使用的串口2,引脚使用PA3,PA4引脚

ST-linkV3调试器版图:

2.png

打开STM32cubeMX软件配置一下串口2的底层驱动部分

3.png

串口2配置完成后,点击“generate code”,底层驱动就配置好了;

二:代码编写

1:首先串口时钟使能,GPIO时钟使能:    __HAL_RCC_USART2_CLK_ENABLE();

2:GPIO端口模式设置:    __HAL_RCC_GPIOA_CLK_ENABLE();

3: 串口参数初始化:HAL_UART_Init(&huart2)

4:开启中断并且初始化 HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);             HAL_NVIC_EnableIRQ(USART2_IRQn);

5: 使能串口:

6:编写串口发送函数:重映射PRINTF 函数进行数据的发送。

2.1打开软件生成的工程代码,需要在main.c中添加3个文件,如下所示:

5.png

在主函数中利用系统滴答定时器的延时功能延时500ms,通过串口2的HAL_UART_Transmit函数将数组发送出来,并通过串口工具查看一下:

编译一下代码,查看一下没有问题:

8.png

注意:下面我是用printf数据出一下

需要注意的是:将代码写在用户区,否则再次生成的时候,代码就会被覆盖;

需要配置一下代码使用lib功能,否则可能导致printf功能不能正常实现:

9.png

主程序代码如下:

while (1)

{

/ USER CODE END WHILE /

/ USER CODE BEGIN 3 /

    HAL_Delay(500);

    HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);

    HAL_UART_Transmit(&huart1,OUTPUT_str,sizeof(OUTPUT_str),100);

}

打开串口调试工具:

配置串口的波特率115200,选择端口号,配置:校验位 :无校验 停止位:1位

10.png

下载验证一下功能是否正常。视频如下:

视频效果:板载LED灯以500ms时间间隔闪烁,同时输出的字符串,功能正常。

收藏 评论0 发布时间:2024-7-30 20:51

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版