本帖最后由 糖悦之果飞 于 2016-5-24 08:52 编辑
小红板GD32F190那些事之工程模块建立篇 一、 硬件连接 1、小编硬件配置 图1.1电脑系统属性 2、将小红板连入电脑后 图1.2串口驱动成功图 图1.3需下载的资料图 同时请将上面的资料全部下载下来。 二、 工程环境搭建 1、看自己Keil的版本是否支持GD32,不然需要去网上下载一个5.13以上版本的Keil 2、当装好keil后,我们需下载将GD32F1x0_Firmware_Library_V2.0.0.rar解压后点击运行。出现下图后直接点击Next即可,不要做其他任何操作。 图2.1安装GD32F1x0_Firmware_Library_V2 3、当我们上述工作都完成了,我们打开keil,点击projectànew uVision project新建工程保存后就能看到下图中的内容。若没有,我们要将Device选成Software Packs,不然将重新安装GD32F1x0_Firmware_Library_V2 图2.2 GD32F190Device
三、工程创建 1、创建两个目录Library 和 project,我们将下载的资料中的GD32F1x0_Firmware_Library_V2.0.0.rad,解压后拷贝到Library中。并按照上面工程环境搭建中的第3点将工程命名后保存到project文件夹中。弹出如下对话框,我们进行选择则如下图。
图3.1 Device配置 2、接下来就是我们工程模板制作过程。请按下面图的顺序操作 图3.2模板创建一 图3.2模板创建二 路径:library\GD32F1x0_Firmware_Library_V2.0.0\Firmware\CMSIS\ARM 图3.3模板创建三 路径:library\GD32F1x0_Firmware_Library_V2.0.0\Firmware\CMSIS 图3.4模板创建四(全部添加进去) 路径: library\GD32F1x0_Firmware_Library_V2.0.0\Firmware\Peripherals\src 图3.5模板创建五(如上图将选中的文件拷贝到project文件夹下)
图3.6模板创建六 路径: \project(刚复制过来文件中的C文件)
图3.7模板创建七 路径: \project 图3.7模板创建八 图3.7模板创建九
图3.7模板创建十(添加头文件的搜索路径) 图3.7模板创建十一(选择下载方式) 图3.7模板创建十二(选择下载方式) 图3.7模板创建十三(选择Flash) 到此我们的工程配置就全部完成了。接下来就是写程序了。 四、实现流水灯 1、代码- <div>/**
- ******************************************************************************
- * @file main.c
- * @author shamozhihuong
- * @version V2.0.0
- * @date 04-May-2016
- * @brief The main function file.
- ******************************************************************************
- */</div><div>
- </div><div>/* Includes ------------------------------------------------------------------*/
- #include "gd32f1x0.h"
- #include "systick.h"</div><div>
- </div><div>/* Private functions ---------------------------------------------------------*/
- void GD_GPIO_Confing(void)
- {
- GPIO_InitPara GPIO_InitStructure;</div><div>
- </div><div> /* Enable the LED Clock */
- RCC_AHBPeriphClock_Enable(RCC_AHBPERIPH_GPIOB, ENABLE);</div><div>
- </div><div> /* Configure the LED pin */
- GPIO_InitStructure.GPIO_Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10;
- GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT;
- GPIO_InitStructure.GPIO_OType = GPIO_OTYPE_PP;
- GPIO_InitStructure.GPIO_PuPd = GPIO_PUPD_NOPULL;
- GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
- GPIO_Init(GPIOB, &GPIO_InitStructure);
- GPIO_ResetBits(GPIOB, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10);
- }
- /**
- * @brief Toggle the LED every 500ms.
- * @param None
- * @retval None
- */
- void DG_Delay(void)
- {
- int x,y;
- for(x=0;x<0x2ff;x++)
- for(y=0;y<0x2ff;y++);
- }</div><div>
- </div><div>/**
- * @brief Main program.
- * @param None
- * @retval None
- */
- int main(void)
- {
- GD_GPIO_Confing();
- //SysTick_Configuration();
- while (1)
- {</div><div>
- </div><div> GPIO_ResetBits(GPIOB, GPIO_PIN_9|GPIO_PIN_10);
- GPIO_SetBits(GPIOB, GPIO_PIN_8);
- DG_Delay();
- GPIO_ResetBits(GPIOB, GPIO_PIN_8|GPIO_PIN_10);
- GPIO_SetBits(GPIOB, GPIO_PIN_9);
- DG_Delay();
- GPIO_ResetBits(GPIOB, GPIO_PIN_8|GPIO_PIN_9);
- GPIO_SetBits(GPIOB, GPIO_PIN_10);
- DG_Delay();
-
- }
- }</div><div>
- </div><div>/******************* (C) COPYRIGHT 2016 GIGADEVICE *****END OF FILE****/
- </div>
复制代码2、实验结果
|