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

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

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

开发环境的初步搭建

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

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

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

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

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

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

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

 用MDK5打开工程文件,

 打开后工程目录

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

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

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

取消注释,开启串口功能

 

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

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

添加后的Group

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

添加后的效果

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

点击如图按钮,

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

添加后的效果

 

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

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

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

 修改main.c的效果,发现41句代码有红色波浪线,说明存在问题。

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

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

 在34行添加:

#include "py32f002bxx_Start_Kit.h"

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

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

设置下载

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

找到Flash Download tab,勾选Reset and Run

下载.

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

在串口软件中收到信息:

至此试验完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/185927.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JPA整合Sqlite解决Dialect报错问题, 最新版Hibernate6

前言 我个人项目中,不想使用太重的数据库,而内嵌数据库中SQLite又是最受欢迎的, 因此决定采用这个数据库。 可是JPA并不支持Sqlite,这篇文章就是记录如何解决这个问题的。 原因 JPA屏蔽了底层的各个数据库差异, 但是…

μC/OS-II---消息邮箱管理2(os_mbox.c)

目录 消息邮箱发送(扩展)从消息邮箱获取/无等待消息邮箱状态查询消息邮箱中断等待用邮箱作为二值信号量(无)用邮箱实现延时(无) 消息邮箱发送(扩展) #if OS_MBOX_POST_OPT_EN > …

苹果手机怎么转移通讯录?简单操作方法来了!

通讯录是手机中存储联系人信息的应用程序,它可以帮助用户方便快捷地进行通讯和信息交流。通讯录记录了我们的亲朋好友、同事等重要人物的联系方式。 如果因更换手机而丢失通讯录,可能会对我们的日常生活和社交带来不便。苹果手机怎么转移通讯录&#xf…

基于PyTorch搭建你的生成对抗性网络

前言 你听说过GANs吗?还是你才刚刚开始学?GANs是2014年由蒙特利尔大学的学生 Ian Goodfellow 博士首次提出的。GANs最常见的例子是生成图像。有一个网站包含了不存在的人的面孔,便是一个常见的GANs应用示例。也是我们将要在本文中进行分享的…

《Linux从练气到飞升》No.29 生产者消费者模型

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的…

如何用AB测试完善产品激励体系

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 用户激励体系,也称用户激励机制,是为了让用户持续使用产品,而设计的一套对应规则。在用户激励体系建立过程中,产品可…

目前比较好用的护眼台灯?小白入门最适合的护眼台灯推荐

随着人们对家庭环境艺术的重视,台灯因其摆设在桌案台几上的特殊地位,也要进求特有的装饰效果。家居用台灯开始逐新分流为工艺台灯和书写台灯两类。前者追求外观效果,将发展思路放在材质的创新、造型的求异上,以配合风格多样的家居…

新品|CASAIM-IS(2ND)自动化智能检测系统正式上市,打造更高效、更智能、更安全新体验!

全新第二代中科广电CASAIM-IS自动化智能检测系统正式上市,集合CASAIM最新的“智能控制、智能成像、智能检测”三智技术,为中小型精密复杂工件测量及检测提供一站式高效全自动化智能检测解决方案

查看连接过的wifi历史记录及密码

查看连接过的历史wifi及密码 netsh wlan show profile 查看wifi历史记录 netsh wlan show profile name“北固湾” keyclear 查询某个wifi的密码 netsh wlan export profile folderC:\Users\Administrator\Desktop\wifi keyclear 批量导出wifi配置文件查看密码

STM32H743 RTC精密数字校准 深度剖析

一、问题 项目中数据报文收到的RTC时间总是会慢一些,经过实际几天的测试得出结论:24小时要慢5S左右。根据手册我了解到可以有误差但不会差这么多,所以进行了如下分析并解决问题。 二、分析 1.影响RTC准确性的因素罗列 硬件基础误差(也就是待校准部分) …

RT-DETR算法优化改进:SCConv,空间和通道重建卷积 | CVPR2023 | 卷积变体大作战

💡💡💡本文改进:SCConv(空间和通道重建卷积),一个即插即用的架构单元,可以直接用来替代各种卷积神经网络中的标准卷积。 1)放入Neck RepC3后面; RT-DETR魔术师专栏介绍: https://blog.csdn.net/m0_63774211/category_12497375.html ✨✨✨魔改创新RT-DETR �…

简单高效的定制移动固态硬盘,稳定易用的办公小助手

我在平时的工作中,常常需要处理各种大文件和数据,如果硬盘速度跟不上,那工作效率就会大幅降低。今年固态硬盘的价格大幅下降,有很多国产品牌加入其中,很容易找到一款性价比高的固态硬盘,搭配硬盘盒使用&…