学习目标:
掌握CH32V307沁恒微电子开发流程
例如:
一周掌握 CH32V307开发流程
学习内容:
在编写的代码中,掌握UART的串口打印调试信息
代码区:
结果展示:
代码解释:
🌙写每一篇博客/代码demo加一下注释,防止下次使用的时候忘记。
包含头文件#include “debug.h”
本篇主要关注有关DEBUG UART的相关内容
例如:
在头文件中声明了使用的是哪一个UARTnum(num=1/2/3),对于不同的demo板,硬件资源存在一定的差异,我们在使用前观察USART_Printf_Init(uint32_t baudrate)中使用的默认配置
在文件debug.c中可以观察到ch32v307 有关USART_Printf_Init(uint32_t baudrate)的声明,我所使用的demo板没有将GPIOA_Pin_9硬件资源引出接口,因此这里根据demo板的硬件资源选择GPIOA_Pin_2作为Tx端口。
到这里必要的准备工作就绪,下面开始根据demo程序进行演示。
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
这里我们从沁恒官网中的提供的demo程序中的ch32v30x_misc.c与ch32v30x_misc.h文件中阅读函数声明
/*********************************************************************
* @fn NVIC_PriorityGroupConfig
*
* @brief Configures the priority grouping - pre-emption priority and subpriority.
* 配置优先级分组-优先权和次优先权
* @param NVIC_PriorityGroup - specifies the priority grouping bits length.
* NVIC_PriorityGroup-指定优先级分组比特长度。
* NVIC_PriorityGroup_0 - 0 bits for pre-emption priority
* 3 bits for subpriority
* NVIC_PriorityGroup_1 - 1 bits for pre-emption priority
* 2 bits for subpriority
* NVIC_PriorityGroup_2 - 2 bits for pre-emption priority
* 1 bits for subpriority
* NVIC_PriorityGroup_3 - 3 bits for pre-emption priority
* 0 bits for s