TA的每日心情 | 开心 2016-7-19 10:35 |
---|
签到天数: 8 天 连续签到: 1 天 [LV.3]偶尔看看II
|
本帖最后由 netlhx 于 2015-12-23 19:48 编辑
申请了论坛提供的板子,很开心。
只是不开心的是,板子焊接的时候,可能上锡过多,部分引脚有连锡的现象。
拿个烙铁折腾一下,总算差不多了。
GD32与STM32的芯差不多兼容,所以仍然按STM32的模式来写个程序试试。
先安装MDK对应的PACK,这个大家都熟悉。在安装光盘里找了半天,没有发现独立的SDK,只有板载的BSP驱动。从下载的DEMO里找到PERIPHERALS这个目录,这个里面包含了库函数代码,添加到工程文件中。下面就是写代码了。
代码很简单,驱动GPIO,点亮LED灯,另外使用SYSTICK来定时,实现闪烁功能,大家不要笑,目前还只会点灯!
下面是代码,写得简单,将就着看。
- *#include "gd32f20x_gpio.h"
- #include "gd32f20x_rcc.h"
- static void SysTickConfig(void);
- int main(void)
- {
- GPIO_InitPara gpio;
- RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_GPIOD, ENABLE);
- gpio.GPIO_Pin = GPIO_PIN_11;
- gpio.GPIO_Mode = GPIO_MODE_OUT_PP;
- gpio.GPIO_Speed = GPIO_SPEED_10MHZ;
- GPIO_Init(GPIOD, &gpio);
- //GPIO_SetBits(GPIOD, GPIO_PIN_12);
- SysTickConfig();
- while(1)
- {
- }
- }
- void SysTick_Handler(void)
- {
- static int TimingDelayLocal = 0;
- static int ledStatus = 0;
- TimingDelayLocal++;
- if (TimingDelayLocal == 500)
- {
- ledStatus ^= 1;
- GPIO_WriteBit(GPIOD, GPIO_PIN_11, ledStatus);
- TimingDelayLocal = 0;
- }
- }
- static void SysTickConfig(void)
- {
- // 1ms
- if (SysTick_Config(SystemCoreClock / 1000))
- {
- while (1);
- }
- NVIC_SetPriority(SysTick_IRQn, 0x00);
- }
复制代码 最后说一句,论坛不兼容IE11么,用FIREFOX编辑也不太对,图片不能放到指定的位置。
|
|