CH32V103学习笔记之三——对debug.c中的函数做一些修改
1、前言
上一篇讲到了如何基于IDE自带工程模板做一些调整,形成一个符合自己使用习惯的模板。本篇笔记主要介绍模板里的debug.c文件中的函数功能和对函数做一些修改,以更符合个人使用习惯。
2、debug.c文件的作用
初始化系统嘀嗒计数器SysTick,配置对应参数实现us、ms级别延时
通过条件编译宏,初始化串口1、2或者3的TX引脚,实现串口输出数据或者调试信息
另外有一点需要提醒的是,多个外设的库函数中调用了debug.c中的延时函数。如果不想使用debug.c这个文件,就需要在对应的外设库函数中做修改了(删除这两个文件,编译的时候会提示错误,根据错误信息一个个修复即可)。
debug.h中的宏定义和函数声明
3、调整内容
3.1、调整延时函数
使用库函数上电初始化的系统主频是72MHz。寄存器参数为何要这么配置,由于未在参考手册和数据手册中查到systick相关寄存器的说明,所以不做进一步的讨论,这里只做函数调用上的简化,方便调用即可。感兴趣的小伙伴请联系沁恒技术支持了解具体详情。
调整前(汉字注释是我加的)👇
调整后👇
3.2、调整串口初始化函数
本次活动的学习板上WCH-Link虚拟串口默认接入的是CH32V103R8T6的串口1,且后续准备移植的项目也只使用到串口1,所以这里简化函数内容,同时增加RX引脚的初始化。
调整前👇
串口1、2、3 TX引脚的初始化函数,通信波特率作为参数传入。根据在debug.h中选择的编译条件,初始化对应的串口TX引脚。
printf函数重定向,方便直接使用C语言printf函数输出内容。根据debug.h中选择的编译条件,调用对应的串口输出。
调整后👇
4、小结
本篇介绍的内容出于个人的编程习惯,加上一点强迫症,所以动手做了一些调整。当然,不做修改也是可以正常使用的。
