查看: 4749|回复: 5

[项目] 晒板+LED例程

[复制链接]
  • TA的每日心情
    无聊
    2018-8-2 09:51
  • 签到天数: 276 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2015-6-29 11:57:00 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 lmt50222 于 2015-6-29 16:25 编辑

    上周六就收到了板,因为下班了,所以就没有开箱,今天早上一来就开箱并拍照,打开快递,首先是一个简单干净的白色盒了,印有GD32和ARM
    IMG_1112.JPG
    接下来打开包装,静电包装袋里安静的躺着一块红色的开发板。
    IMG_1113.JPG
    拆开静电包装袋,拿出开发板,先看正面
    IMG_1114.JPG
    再看反面
    IMG_1115.JPG
    个人感觉做工还是比较粗糙,下面是和飞思卡尔的开发板对比,飞思卡尔采用的是镀金板,GD32是镀锡板。
    也是先来正面对比
    IMG_1118.JPG
    接着再来反面的
    IMG_1119.JPG
    开发板看完了,那么,接下来就可以开始建立工程文件了。
    首先先建好GD32-Demo文件夹,并再建立User,Fwlib,Cmsis三个文件夹。
    新建GD32.JPG
    在安装好所有程序后打开Keil
    新建工程.JPG
    选择好GD32F150R8芯片,确认后不要Keil自带的启动文件。
    选择芯片.JPG
    这样就可以打开GD32开发板资料,(下载请到公布的地方下载,这里就不发了),把CMSIS和Peripherals里的(inc,src)和Template文件夹里的文件复制到新建的工程文件夹里面。并增加到Keil里(特别注意需要把startup_gd32f1x0.s增加)。
    C编译器设置.JPG
    再设置Keil相关项目,需要定义“USE_STDPERIPH_DRIVER”可以在"gd32f1x0.h"头文件里找到,意思为使用标准库文件。并增加头文件地址
    C编译器设置.JPG
    选择CMSIS-DAP Debugger仿真器,并设置好相关下载参数。
    仿真器选择.JPG
    芯片下载参数.JPG
    到此就设置完成了,现在就可以自己增加代码了。
    特别提醒:因开发板未焊接外部晶振,所以开发板的时钟为内部高速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"       触摸按键
    无关的可以注释掉
    现在就可编译文件了,按下编译,无错误和警告。。
    编译器.JPG
    下载程序在开发板就可以看见LED4,LED5以1HZ频率闪烁了。
    IMG_1116.JPG
    是不是很简单呢...
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2018-8-2 09:51
  • 签到天数: 276 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2015-6-29 11:58:30 | 显示全部楼层
    本帖最后由 lmt50222 于 2015-6-29 12:01 编辑

    忘记上传工程文件了,现在补上

    还有一点就是Keil的软件复位好像有问题:就是下载程序时使能了下载后复位运行,结果是不能运行,需要手动按一下复位按键才可以运行。当然调试是正常的。

    GD32_Demo.rar

    4.88 MB, 下载次数: 118

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-7-14 10:15
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-6-29 13:01:57 | 显示全部楼层
    不错不错,很好的帖子
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2015-8-25 10:41
  • 签到天数: 66 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2015-6-29 13:27:06 | 显示全部楼层
    运气都挺好的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-15 09:28
  • 签到天数: 222 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2015-6-30 09:02:12 | 显示全部楼层
    很小巧的板子,恭喜楼主!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2014-11-28 09:29
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-6-30 09:02:40 | 显示全部楼层
    已经开始用上了,赞!
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-12-24 21:57 , Processed in 0.158260 second(s), 27 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.