本人之前参加嵌入式比赛,所以买了板子进行测试,现在重新再次学习国产芯片,望国产芯片再接再厉。

本次实验是基础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展示


说点什么吧...

qZMtmT.png网站备案号:ICP备16046599号-1