3回答

0收藏

[原创] GD32F207晒板兼第一个程序

GD32 GD32 4039 人阅读 | 3 人回复 | 2015-12-23

本帖最后由 netlhx 于 2015-12-23 19:48 编辑

申请了论坛提供的板子,很开心。

只是不开心的是,板子焊接的时候,可能上锡过多,部分引脚有连锡的现象。



拿个烙铁折腾一下,总算差不多了。

GD32与STM32的芯差不多兼容,所以仍然按STM32的模式来写个程序试试。

先安装MDK对应的PACK,这个大家都熟悉。在安装光盘里找了半天,没有发现独立的SDK,只有板载的BSP驱动。从下载的DEMO里找到PERIPHERALS这个目录,这个里面包含了库函数代码,添加到工程文件中。下面就是写代码了。

代码很简单,驱动GPIO,点亮LED灯,另外使用SYSTICK来定时,实现闪烁功能,大家不要笑,目前还只会点灯!

下面是代码,写得简单,将就着看。


  1. *#include "gd32f20x_gpio.h"
  2. #include "gd32f20x_rcc.h"

  3. static void SysTickConfig(void);

  4. int main(void)
  5. {

  6. GPIO_InitPara gpio;

  7. RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_GPIOD, ENABLE);

  8. gpio.GPIO_Pin = GPIO_PIN_11;
  9. gpio.GPIO_Mode = GPIO_MODE_OUT_PP;
  10. gpio.GPIO_Speed = GPIO_SPEED_10MHZ;

  11. GPIO_Init(GPIOD, &gpio);

  12. //GPIO_SetBits(GPIOD, GPIO_PIN_12);
  13. SysTickConfig();

  14. while(1)
  15. {

  16. }




  17. }


  18. void SysTick_Handler(void)
  19. {
  20. static int TimingDelayLocal = 0;
  21. static int ledStatus = 0;

  22. TimingDelayLocal++;
  23. if (TimingDelayLocal == 500)
  24. {
  25. ledStatus ^= 1;
  26. GPIO_WriteBit(GPIOD, GPIO_PIN_11, ledStatus);

  27. TimingDelayLocal = 0;
  28. }
  29. }


  30. static void SysTickConfig(void)
  31. {
  32. // 1ms
  33. if (SysTick_Config(SystemCoreClock / 1000))
  34. {
  35. while (1);
  36. }
  37. NVIC_SetPriority(SysTick_IRQn, 0x00);
  38. }

复制代码
最后说一句,论坛不兼容IE11么,用FIREFOX编辑也不太对,图片不能放到指定的位置。


点评

厉害,我还得等板子  发表于 2015-12-23 21:40
分享到:
回复

使用道具 举报

回答|共 3 个

倒序浏览

沙发

trochili

发表于 2015-12-23 19:45:54 | 只看该作者

鼓掌!               
eeboard大力支持的开源RTOS -- Trochili RTOS
板凳

netlhx

发表于 2015-12-23 19:47:01 | 只看该作者

trochili 发表于 2015-12-23 19:45
鼓掌!

总算搞定了,顺便说一下,使用IE11的时候,使用兼容模式,就没有问题了。
地板

Paderboy

发表于 2015-12-23 20:58:43 | 只看该作者

不错,动手能力不错。。。赞。。。
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

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