打印

GD32创意设计方案大赛开发板及Demo程序

[复制链接]
2298|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lu50211|  楼主 | 2015-6-29 17:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lu50211 于 2015-6-29 17:11 编辑

上周六就收到了板,因为下班了,所以就没有开箱,今天早上一来就开箱并拍照,打开快递,首先是一个简单干净的白色盒了,印有GD32和ARM

接下来打开包装,静电包装袋里安静的躺着一块红色的开发板。

拆开静电包装袋,拿出开发板,先看正面

再看反面

个人感觉做工还是比较粗糙,下面是和飞思卡尔的开发板对比,飞思卡尔采用的是镀金板,GD32是镀锡板。
也是先来正面对比

接着再来反面的

开发板看完了,那么,接下来就可以开始建立工程文件了。
首先先建好GD32-Demo文件夹,并再建立User,Fwlib,Cmsis三个文件夹。

在安装好所有程序后打开Keil

选择好GD32F150R8芯片,确认后不要Keil自带的启动文件。

这样就可以打开GD32开发板资料,(下载请到公布的地方下载,这里就不发了),把CMSIS和Peripherals里的(inc,src)和Template文件夹里的文件复制到新建的工程文件夹里面。并增加到Keil里(特别注意需要把startup_gd32f1x0.s增加)。

再设置Keil相关项目,需要定义“USE_STDPERIPH_DRIVER”可以在"gd32f1x0.h"头文件里找到,意思为使用标准库文件。并增加头文件地址

选择CMSIS-DAP Debugger仿真器,并设置好相关下载参数。


到此就设置完成了,现在就可以自己增加代码了。
特别提醒:因开发板未焊接外部晶振,所以开发板的时钟为内部高速8M。
现在以TIMER6定时500ms为例,写自己的代码。
初始化TIMER6定时器:
void Time6_Init(void)
{
    TIMER_BaseInitPara TIMER_BaseInitParaStructure;
    NVIC_InitPara      NVIC_InitStructure;

    RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_TIMER6,ENABLE); //开启TIMER6时钟
    //主频为8M,如需更改频率需在system_gd32f1x0.c文件内修改或者焊接外部晶振
    TIMER_BaseInitParaStructure.TIMER_Prescaler = 8000 - 1;//Fs/(8000-1)=1MS
    TIMER_BaseInitParaStructure.TIMER_CounterMode = TIMER_COUNTER_UP;//向上计数
    TIMER_BaseInitParaStructure.TIMER_Period = 500;//500ms
    TIMER_BaseInitParaStructure.TIMER_ClockDivision = TIMER_CDIV_DIV1;//时钟不分频
    TIMER_BaseInit(TIMER6,&TIMER_BaseInitParaStructure);

    TIMER_INTConfig(TIMER6,TIMER_INT_UPDATE,ENABLE);//更新中断
    TIMER_Enable(TIMER6,ENABLE);                    //开TIMER6

    NVIC_InitStructure.NVIC_IRQ = TIMER6_DAC_IRQn;  //TIMER6
    NVIC_InitStructure.NVIC_IRQPreemptPriority = 0; //主优先
    NVIC_InitStructure.NVIC_IRQSubPriority = 0;     //次优先
    NVIC_InitStructure.NVIC_IRQEnable = ENABLE;     //使能TIMER6
    NVIC_Init(&NVIC_InitStructure);
}
TIMER6中断
void TIM6_DAC_IRQHandler(void)
{
    if(TIMER_GetIntBitState(TIMER6,TIMER_INT_UPDATE) != RESET)//查询更新中断
    {
        TIMER_ClearIntBitState(TIMER6,TIMER_INT_UPDATE);//清更新中断标志位
        GPIO_WriteBit(GPIOC,GPIO_PIN_10,\
        (BitState)(1 - GPIO_ReadOutputBit(GPIOC,GPIO_PIN_10)));//LED以1Hz频率闪烁
        GPIO_WriteBit(GPIOC,GPIO_PIN_11,\
        (BitState)(1 - GPIO_ReadOutputBit(GPIOC,GPIO_PIN_11)));
    }
}
注意:如果有不需要的外设可以在"gd32f1x0_conf.h"文件中注释掉相应头文件即可.
比如,LED灯闪烁需要用到:定时器,中断,时钟配置,GPIO,
//#include "gd32f1x0_adc.h"        模数转换
//#include "gd32f1x0_cec.h"     CEC控制器
//#include "gd32f1x0_crc.h"       CRC校验
//#include "gd32f1x0_cmp.h"     比较器
//#include "gd32f1x0_dac.h"        数模转换
#include "gd32f1x0_mcudbg.h"    MCU调试
//#include "gd32f1x0_dma.h"      DMA数据传输
//#include "gd32f1x0_exti.h"       外部中断
//#include "gd32f1x0_fmc.h"      闪存
#include "gd32f1x0_gpio.h"        GPIO
#include "gd32f1x0_syscfg.h"     系统配置
//#include "gd32f1x0_i2c.h"         IIC
//#include "gd32f1x0_iwdg.h"     独立看门狗
//#include "gd32f1x0_pwr.h"      备份
#include "gd32f1x0_rcc.h"         时钟
//#include "gd32f1x0_rtc.h"       RTC
//#include "gd32f1x0_spi.h"       SPI通信
#include "gd32f1x0_timer.h"     定时器
//#include "gd32f1x0_usart.h"   串口
//#include "gd32f1x0_wwdg.h" 窗口看门狗
#include "gd32f1x0_misc.h"      中断配置
//#include "gd32f1x0_tsi.h"       触摸按键
无关的可以注释掉
现在就可编译文件了,按下编译,无错误和警告。。

下载程序在开发板就可以看见LED4,LED5以1HZ频率闪烁了。

是不是很简单呢...
工程文件:
GD32_Demo.rar (4.88 MB)

IMG_1116.JPG (2.88 MB )

IMG_1116.JPG
沙发
haolaishi| | 2015-6-29 20:52 | 只看该作者
支持下,和飞思卡尔的根本没法比!

使用特权

评论回复
板凳
dirtwillfly| | 2015-7-2 17:19 | 只看该作者
呵呵,不错

使用特权

评论回复
地板
user110| | 2015-7-3 09:37 | 只看该作者

使用特权

评论回复
5
sunmeat| | 2015-7-12 16:12 | 只看该作者
板子好丑,好丑!

使用特权

评论回复
6
北海之风| | 2018-3-30 14:53 | 只看该作者
下载出错

使用特权

评论回复
7
lgg123| | 2018-3-31 09:26 | 只看该作者
我使用的官方GD-LINK,下载总是回出错是什么原因

使用特权

评论回复
8
lu50211|  楼主 | 2018-4-3 08:32 | 只看该作者
lgg123 发表于 2018-3-31 09:26
我使用的官方GD-LINK,下载总是回出错是什么原因

这个具体原因不好说,你可以先查下驱动是否正常,Keil设置方面有无出错。一步一步检查。

使用特权

评论回复
9
lgg123| | 2018-4-3 09:09 | 只看该作者
lu50211 发表于 2018-4-3 08:32
这个具体原因不好说,你可以先查下驱动是否正常,Keil设置方面有无出错。一步一步检查。 ...

检查了一下,原来是线接错了

使用特权

评论回复
10
CharryW| | 2018-4-3 14:57 | 只看该作者
注意下面预留的4个接口是用来更新GDlLink的,不需要升级的话不要使用。

使用特权

评论回复
11
lvben5d| | 2018-4-5 16:19 | 只看该作者
学会知识才是最高级了,实际你们出去工作的时候,简单的双面板 有几个是镀金的?  无铅镀锡就好了,环保。 最重要的部分没学会,分不清主次!

使用特权

评论回复
评论
lvben5d 2018-4-20 13:09 回复TA
@lu50211 : 跟你不是一个频道的,我说的是有人说板子丑,学习到如何应用板子才是重点。说丑的 分不清主次。 就像你回复我一样。 
lu50211 2018-4-6 09:21 回复TA
不知道你说的什么,你和大家是在同一频道吗???还不分清主次????。。。。。 
12
chuntian2016| | 2018-4-21 17:23 | 只看该作者
不管怎么说,开发板还是挺不错的

使用特权

评论回复
13
tongbu2015| | 2018-4-22 13:43 | 只看该作者
该开发板还是蛮不错,资料都比较丰富的

使用特权

评论回复
14
bboo| | 2018-4-22 14:31 | 只看该作者
飞思和GD的都不错,我都没有

使用特权

评论回复
15
baimiaocun2015| | 2018-4-22 22:43 | 只看该作者
不管怎样,首先包装还是蛮不错的

使用特权

评论回复
16
poison0| | 2018-4-23 14:03 | 只看该作者
分享的不错,值得观看。不得不说,确实颜色很漂亮。

使用特权

评论回复
17
angerbird| | 2018-4-24 23:59 | 只看该作者
开发板的颜值好不好的关系不大哈

使用特权

评论回复
18
comeon201208| | 2018-4-25 20:45 | 只看该作者
开发板呢看着还可以的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

417

帖子

8

粉丝