本人之前参加嵌入式比赛,所以买了板子进行测试,现在重新再次学习国产芯片,望国产芯片再接再厉。
本次实验是基础USART的测试
步骤分为5步:
第一步:新建一个项目
第二步:需改USART串口
第三步:增加引脚初始化
第四步:主函数编写
第五步:板子引脚更改
开始
第一步:新建一个项目
选择板子类型
可以看到项目的初始化界面如下
第二步:需改USART串口
进入到 USART_Printf_Init(115200)的定义
可以看到如下是选择USART1的,我们需要需改成USART2,
需改步骤为:
进入 DEBUG_UART1 的定义
注释掉USART1,开启USART2,然后保存修改
最终效果
第三步:增加引脚初始化
增加USART2引脚初始化
根据 https://verimake.com/d/152-ch32v307 的例程
` void USART2_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
//开启时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
/* USART2 TX-->PA2 RX-->PA3 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //RX,输入上拉
GPIO_Init(GPIOA, &GPIO_InitStructure);
USART_InitStructure.USART_BaudRate = 115200; // 波特率
USART_InitStructure.USART_WordLength = USART_WordLength_8b; // 数据位 8
USART_InitStructure.USART_StopBits = USART_StopBits_1; // 停止位 1
USART_InitStructure.USART_Parity = USART_Parity_No; // 无校验
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; // 无硬件流控
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx; //使能 RX 和 TX
USART_Init(USART2, &USART_InitStructure);
USART_Cmd(USART2, ENABLE); //开启UART
}`
最终效果
第四步:主函数编写
我们就写一个死循环就可以
`int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
Delay_Init();
USART_Printf_Init(115200);
USART2_Init();
printf("SystemClk:%d\r\n",SystemCoreClock);
printf("This is printf example\r\n");
while(1)
{
printf("This is printf example\r\n");
Delay_Ms(5000);
}
}`
最终效果
然后编译代码,烧录代码
注意!!!!!!!!!!!!!!!是先将代码烧录后,再执行第五步,此时板子是USART1的
注意!!!!!!!!!!!!!!!是先将代码烧录后,再执行第五步,此时板子是USART1的
注意!!!!!!!!!!!!!!!是先将代码烧录后,再执行第五步,此时板子是USART1的
注意!!!!!!!!!!!!!!!是先将代码烧录后,再执行第五步,此时板子是USART1的
注意!!!!!!!!!!!!!!!是先将代码烧录后,再执行第五步,此时板子是USART1的
注意!!!!!!!!!!!!!!!是先将代码烧录后,再执行第五步,此时板子是USART1的
注意!!!!!!!!!!!!!!!是先将代码烧录后,再执行第五步,此时板子是USART1的
第五步:板子引脚更改
最终效果在 XCOM展示