当先锋百科网

首页 1 2 3 4 5 6 7

个人学习笔记记录

GD32开发环境配置

GD32命名方式

GD32 命名方式如下
在这里插入图片描述

GD32开发资料

GD32 提供了丰富的参考资料,这些资料可以从兆易创新网站获取(www.gigadevice.com.cn)
下面介绍两种资料:

  1. GD32F303xx Datasheet
    GD32F303 系列的数据手册。手册对单片机的外设、电路特性进行了基本的介绍。开发
    者可以从数据手册中获取到单片机的基本属性。
  2. GD32F30x User Manual
    GD32F30x 的用户手册。用户手册详细的介绍了各寄存器功能及编程方式。用户手册是
    单片机开发最权威的指引。

开发环境搭建

本文基于KEIL v5版本进行GD32开发。使用 MDK-Arm 作为 IDE。MDK-Arm 集代码编写、编译、单片机调试为一体。
MDK-Arm 可在官网(https://ww w.keil.com/download/product)填写信息后后下载安装。
相关固件包可以在 KEIL 的 MDK5 软件包网页(https://www.keil.com/dd2/pack)找到。在 GigaDevice 栏目中找到最新的 DFP 文件下载安装即可。
编写工程文件时可以使用官网下载GD32F30x_Firmware_Library_V2.1.5,该文件内含有各个外设的例程,和工程模板。但为了后续开发便利,将模板工程进一步分层。分层示意图如下:
在这里插入图片描述
其中User中存放main.c,systick.c和gd32f30x_it.c以及一系列文件。
Peripherals存放一系列GD32的外设库文件,如gd32f30x_gpio.c等。
Hardware存放一些编写的硬件代码,如LED,蜂鸣器,液晶显示屏等代码。
如果需要完成控制任务,如四旋翼和小车,需要另外添加控制文件夹,将各层代码分层管理。
这里不在详细描述如何烧录代码,如何配置rom和ram区,可以自行搜索了解。

GD32简单代码上手

为了验证开发板能否正常工作,选择简单编写LED闪烁代码来验证。如果不懂得LED的原理可以先自行了解,不在赘述。
下面提供一份示例代码供测试使用:

#include "gd32f30x.h"  //GD32F303对应的头文件
void SW_delay_ms(unsigned int time); //申明的软件演示函数,进行毫秒级别延时
int main(void) //主函数
{
  rcu_periph_clock_enable(RCU_GPIOB); //使能PB端口时钟
  gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0);
	//设置PB0端口为:推挽输出,速度最大50MHz 
  while(1) 
  {
    gpio_bit_set(GPIOB, GPIO_PIN_0); //PB0输出高电平
    SW_delay_ms(500);	//延时500毫秒
    gpio_bit_reset(GPIOB, GPIO_PIN_0);  //PB0输出低电平
    SW_delay_ms(500);	//延时500毫秒
  }
}
void SW_delay_ms(unsigned int time) //软件延时函数定义
{    
   unsigned int i=0;  
   while(time--)
   {
      i=30000;  // i=30000下近似为1ms延时
      while(i--) ;    
   }
}
//这里软件演示函数内i=3000根据主频不同自行修改,这里主频为120MHZ

后续内容将会详细介绍各个gd32系统库文件的使用方法和说明。