查看: 973|回复: 0

2、GD32学习--demo

[复制链接]
  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2015-7-10 08:34:36 | 显示全部楼层 |阅读模式
    分享到:

    官方给的资料还是蛮多的。
    第一次的时候安装的是 MDK 5.10 在安装 Keil.GD32F1xx_DFP.1.0.1.pack 的时候报错,安装了 MDK 5.14,然后在安装Keil.GD32F1xx_DFP.1.0.1.pack,成功了。
    首先查看板卡的Example程序,如下:

    图2-1:Example路径

    所有的Example都在一个文件中,examp.h 文件中修改相应的配置即可。

    图2-2:修改

    如下所示,打开板卡带的东东。

    首先新建一个Demo的文件夹,将如下内容复制到Demo文件夹中

    图2-3:固件库内容


    图2-4:新建demo



    图2-5:选择器件


    在Demo下新建usr文件夹,然后新建一个main.c的文件,放入以下内容。
    #include "gd32f1x0.h"#include "gd32f1x0_gpio.h"#include "gd32f1x0_rcc.h"#define LED_ON  (1)#define LED_OFF (0)#define LED1    (1)#define LED2    (2)#define LED3    (3)#define LEDALL  (5)void EVB_LEDConfig(void){    GPIO_InitPara GPIO_InitStructure;    RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOC,ENABLE);    GPIO_InitStructure.GPIO_Pin = GPIO_PIN_10|GPIO_PIN_11;    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT;    GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;    GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;    GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;    GPIO_Init(GPIOC,&GPIO_InitStructure);    GPIO_ResetBits(GPIOC,GPIO_PIN_10|GPIO_PIN_11);}void EVB_LEDControl(int index, int cmd){    switch (index)    {        case LED1:        {            if (cmd == LED_ON)            {                GPIO_SetBits(GPIOC,GPIO_PIN_10);              }            else            {                GPIO_ResetBits(GPIOC,GPIO_PIN_10);             }            break;        }        case LED2:        {            if (cmd == LED_ON)            {                GPIO_SetBits(GPIOC,GPIO_PIN_11);              }            else            {                GPIO_ResetBits(GPIOC,GPIO_PIN_11);            }            break;        }        default:        {            if (cmd == LED_ON)            {                GPIO_ResetBits(GPIOC,GPIO_PIN_10|GPIO_PIN_11);             }            else            {                GPIO_ResetBits(GPIOC,GPIO_PIN_10|GPIO_PIN_11);             }            break;        }    }}int main(void){    int i;    EVB_LEDConfig();          EVB_LEDControl(LED2, LED_OFF);          EVB_LEDControl(LED1, LED_OFF);    while(1)    {        for (i = 0; i< 0x0fffff; i++);                                        EVB_LEDControl(LED2, LED_ON);                for (i = 0; i< 0x0fffff; i++);                                        EVB_LEDControl(LED2, LED_OFF);    }}添加group 添加文件如下:

    图2-6:添加group和文件


    添加文件包含的路径:

    图2-7:添加文件路径


    图2-8:设置调试


    编译,下载即可,然后reset即可看到LED闪烁


    图2-9下载成功
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-19 11:11 , Processed in 0.131283 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.