回答

收藏

led闪烁运行

GD32 GD32 2739 人阅读 | 0 人回复 | 2017-06-13

            昨天试了好久都没有驱动成功dfu与gd-link软件,论坛里也没有说明,只能放弃了。使用dlink软件需要dlink调试器,但
GD32F450开发板没有自带的,在keil 软件中只有选中CMSIS-DAP才可以下载程序。其他下载软件都用不了,这个有些局限性。当然下载程序也可以用stlink用,这个我没有试过,gd32应该和st32相兼容,但资料里没有详细讲述。

gd32f450的资料也不是很多,官网上就几个软件和几篇文档,论坛里也不算多,学起来费了些时间,我找了些资料,分享下,论坛里有的就不重复了。
安装好了软件,装好驱动后,按上所示选择正确的编译器,准备工作就做得一大半了。
FreeRTOS_src.rar
GigaDevice MCU Multi-port download toolundefined
GigaDevice MCU Multi-port download tool.zip450pin.xlsx
https://github.com/search?utf8=%E2%9C%93&q=GD32&ty...undefined相关历程,然而却没有什么反应。
  1. void LED_Spark(void)
  2. {
  3.     static __IO uint32_t TimingDelayLocal = 0;

  4.     if (TimingDelayLocal != 0x00)
  5.     {   
  6.         if(TimingDelayLocal < 500)
  7.         {
  8.             GD_EVAL_LEDOff(LED1);
  9.         }
  10.         else
  11.         {
  12.             GD_EVAL_LEDOn(LED1);
  13.         }

  14.         TimingDelayLocal--;
  15.     }
  16.     else
  17.     {
  18.         TimingDelayLocal = 1000;
  19.     }
  20. }

  21. /**
  22.   * @brief  Main program.
  23.   * @param  None
  24.   * @retval None
  25.   */
  26. int main(void)
  27. {
  28.     GD_EVAL_LEDInit(LED1);

  29.     SysTick_Configuration();

  30.     while (1)
  31.     {
  32.     }
  33. }

  34. void SysTick_Configuration(void)
  35. {
  36.     /* Setup SysTick Timer for 1000Hz interrupts  */
  37.     if (SysTick_Config(SystemCoreClock / 1000))
  38.     {
  39.         /* Capture error */
  40.         while (1);
  41.     }
  42.     /* Configure the SysTick handler priority */
  43.     NVIC_SetPriority(SysTick_IRQn, 0x00);
  44. }
复制代码
程序和网友提供的有些差别,利用系统时钟控制led4每隔1S闪灭一次。实现起来比较容易。

分享到:
回复

使用道具 举报

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

本版积分规则

关闭

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