PY32F002B从压缩包到实现串口printf输出

        最近学习使用芯领的PY32F002B开发板,记录学习历程供有同样需求的人参考。

        本文主要讲述利用开发板实现printf语句串口输出。

PY32F002B从压缩包到实现串口printf输出_第1张图片

开发环境的初步搭建

官方提供了一个压缩文件,文件名py32f002B_231026.zip,

链接:https://pan.baidu.com/s/1JGihtm5hETasF_dGoiW6Ww?pwd=c3el
提取码:c3el
解压后,如图:

PY32F002B从压缩包到实现串口printf输出_第2张图片

        进入“\py32f002B_231026\py32f002B_231026\pack\MDK”文件夹安装MDK支持包。

PY32F002B从压缩包到实现串口printf输出_第3张图片

         进入“\py32f002B_231026\py32f002B_231026\应用软件”文件夹,复制PY32F002B_Firmware_V0.0.4目录到你想存放的文件夹。

PY32F002B从压缩包到实现串口printf输出_第4张图片

        在复制好的PY32F002B_Firmware_V0.0.4文件夹下,新建一个自己命名的文件夹,我的是myProjects文件夹。

PY32F002B从压缩包到实现串口printf输出_第5张图片

         进入复制的“\PY32F002B_Firmware_V0.0.4\Templates”文件夹,复制PY32F002Bxx_Templates文件夹到myProjects文件夹。

PY32F002B从压缩包到实现串口printf输出_第6张图片

 把这个工程模版文件夹改名

PY32F002B从压缩包到实现串口printf输出_第7张图片

 用MDK5打开工程文件,

PY32F002B从压缩包到实现串口printf输出_第8张图片

 打开后工程目录

PY32F002B从压缩包到实现串口printf输出_第9张图片

打开后什么都不做,直接编译,编译如图:

PY32F002B从压缩包到实现串口printf输出_第10张图片

点击main.c前的加号,双击py32f002b_hal_conf.h打开文件,

PY32F002B从压缩包到实现串口printf输出_第11张图片

由于本次目的是要使用串口,所以开启串口功能,取消50行的注释。

PY32F002B从压缩包到实现串口printf输出_第12张图片

取消注释,开启串口功能

 PY32F002B从压缩包到实现串口printf输出_第13张图片

下面需要添加手动必要的文件,先点击下图按钮

PY32F002B从压缩包到实现串口printf输出_第14张图片

在Groups里 建立“BSP/py32f030xx_Start_Kit”Group,并添加“\PY32F002B_Firmware_V0.0.4\Drivers\BSP\py32f002bxx_Start_Kit.c"

PY32F002B从压缩包到实现串口printf输出_第15张图片 添加后的Group

PY32F002B从压缩包到实现串口printf输出_第16张图片

 由于我们要使用uart相关函数,还要给添加“Drivers/PY32F002B_HAL_Driver”Goup添加py32f002b_hal_uart.c的文件。文件在”PY32F002B_Firmware_V0.0.4\Drivers\PY32F002B_HAL_Driver\Src”文件夹下。

PY32F002B从压缩包到实现串口printf输出_第17张图片

添加后的效果

PY32F002B从压缩包到实现串口printf输出_第18张图片

给C++添加头文件,点击魔术棒,找到C/C++ tab

PY32F002B从压缩包到实现串口printf输出_第19张图片

点击如图按钮,

PY32F002B从压缩包到实现串口printf输出_第20张图片

PY32F002B从压缩包到实现串口printf输出_第21张图片

选择 \PY32F002B_Firmware_V0.0.4\Drivers\BSP\PY32F002Bxx_Start_Kit的文件夹

PY32F002B从压缩包到实现串口printf输出_第22张图片

添加后的效果

 PY32F002B从压缩包到实现串口printf输出_第23张图片

 手动添加文件结束,再次编译工程。

下面给main.c添加代码,实现串口 printf输出。

双击工程树下的py32f002bxx_Start_Kit.c,进入文件,找到220行BSP_USART_Config(void)函数并复制名称,然后粘贴到main.c中进行串口初始化。

PY32F002B从压缩包到实现串口printf输出_第24张图片

 修改main.c的效果,发现41句代码有红色波浪线,说明存在问题。PY32F002B从压缩包到实现串口printf输出_第25张图片

         我们这个函数是从py32f002bxx_Start_Kit.c中调用的,可能需要包含py32f002bxx_Start_Kit.h文件。在main.h中包含py32f002bxx_Start_Kit.h。

在工程树中点击main.c前的加号,找到main.h,并双击打开文件

PY32F002B从压缩包到实现串口printf输出_第26张图片

 在34行添加:

#include "py32f002bxx_Start_Kit.h"

PY32F002B从压缩包到实现串口printf输出_第27张图片

 回到main.c中,在while循环中添加如下语句,编译。

/* infinite loop */
  while (1)
		
  {
		printf("Hello PY32!");
		HAL_Delay(1000);
  }

设置下载

点击魔术棒,找到Debug tab,点击其中Settings按钮

PY32F002B从压缩包到实现串口printf输出_第28张图片

找到Flash Download tab,勾选Reset and Run

PY32F002B从压缩包到实现串口printf输出_第29张图片

下载.

BSP_USART_Config(void) 使用PB4和PB5做为串口,具体见附图。

PY32F002B从压缩包到实现串口printf输出_第30张图片

在串口软件中收到信息:

至此试验完成。

你可能感兴趣的:(单片机,MDK,单片机,嵌入式硬件)