【GD32307E-START】+重归的GD32F307E开发板
本帖最后由 jinglixixi 于 2020-11-9 10:44 编辑<p>在第一次申请的时候没能申请到。此次又有了重新申请的机会,才能如愿以偿,实在是一种荣幸呀!</p>
<p>1. 开箱</p>
<p>GD32F307E开发板还依然是那熟悉的透明塑料包装,见图1所示。</p>
<p></p>
<p>图1 GD32F307E开发板及包装</p>
<p> </p>
<p>2. 上电测试</p>
<p>GD32F307E开发板有多个USB接口,似乎只有CN100才能为开发板提供电源,且需要将电源开关切换到LINK一侧。</p>
<p></p>
<p>图2 上电效果</p>
<p> </p>
<p>上电后,电脑即开始安装驱动,然后并无太大的变化。此时,若按下USER键,则LED1被点亮,再次按下USER键,则LED1被熄灭,此后则依此反复变换。</p>
<p></p>
<p>图3 点亮LED1</p>
<p> </p>
<p>3. 程序分析</p>
<p>那为什么会出现这种效果呢?</p>
<p>熄灭还是看一下它的主程序:</p>
<p>int main(void)</p>
<p>{ </p>
<p> gd_eval_key_init(KEY_WAKEUP, KEY_MODE_EXTI);</p>
<p> gd_eval_led_init(LED1);</p>
<p> while(1){</p>
<p> }</p>
<p>}</p>
<p>由此可知,它是通过按键状态的变化调用中断以控制LED的状态切换。</p>
<p>那LED1和USER键又是占用哪个引脚呢?</p>
<p>由程序和原理图可知,LED1占用的是PC6,而USER键占用的则是PA0。</p>
<p>对LED1和USER键所做的定义为:</p>
<p>#define LED1_PIN GPIO_PIN_6</p>
<p>#define LED1_GPIO_PORT GPIOC</p>
<p>#define LED1_GPIO_CLK RCU_GPIOC</p>
<p> </p>
<p>/* wakeup push-button */</p>
<p>#define WAKEUP_KEY_PIN GPIO_PIN_0</p>
<p>#define WAKEUP_KEY_GPIO_PORT GPIOA</p>
<p>#define WAKEUP_KEY_GPIO_CLK RCU_GPIOA</p>
<p>#define WAKEUP_KEY_EXTI_LINE EXTI_0</p>
<p>#define WAKEUP_KEY_EXTI_PORT_SOURCE GPIO_PORT_SOURCE_GPIOA</p>
<p>#define WAKEUP_KEY_EXTI_PIN_SOURCE GPIO_PIN_SOURCE_0</p>
<p>#define WAKEUP_KEY_EXTI_IRQn EXTI0_IRQn</p>
<p> </p>
<p>typedef enum</p>
<p>{</p>
<p> KEY_WAKEUP = 0,</p>
<p> KEY_TAMPER = 1,</p>
<p> KEY_USER = 2</p>
<p>} key_typedef_enum;</p>
<p> </p>
<p>typedef enum</p>
<p>{</p>
<p> KEY_MODE_GPIO = 0,</p>
<p> KEY_MODE_EXTI = 1</p>
<p>} keymode_typedef_enum;</p>
<p> </p>
<p></p>
<p>图4 LED1和USER键原理图</p>
<p> </p>
<p>4. 开发环境构建</p>
<p>为了测试例程和程序开发,开发环境的构建是必不可少的,以KEIL为例其构建步骤如下:</p>
<p>1)安装KEIL软件,我选的版本是V5.23;</p>
<p>2)下载并安装升级包GigaDevice.GD32F30x_DFP.1.0.1和GigaDevice.GD32F30x_AddOn.1.0.1,以添加芯片支持,见图5所示;</p>
<p>3)为生成目标文件HEX,需按图6进行设置;</p>
<p>4)为进行调试和下载,需按图7和图9所示来设置调试工具类型及烧录算法;</p>
<p>5)为生成目标文件,需对程序进行编译和下载,其效果如图10和图11所示。</p>
<p></p>
<p>图5 添加芯片支持</p>
<p> </p>
<p></p>
<p>图6 生成目标文件</p>
<p> </p>
<p></p>
<p>图7 设置调试工具类型</p>
<p> </p>
<p></p>
<p>图8 激活调试工具</p>
<p> </p>
<p></p>
<p>图9 设置烧录算法</p>
<p> </p>
<p></p>
<p>图10 完成编译</p>
<p> </p>
<p></p>
<p>图11 实现下载</p>
<p> </p>
<p>完成开发环境的构建和下载测试,后面的测试及开发工作就会轻松许多,否则一切都白搭!</p>
<p>然而这次我申请了AT32F403A,哈哈,希望能够通过~</p>
<p>很详细!</p>
w494143467 发表于 2020-11-6 20:11
然而这次我申请了AT32F403A,哈哈,希望能够通过~
<p>时间不同,但效果不会有有什么差异。</p>
freebsder 发表于 2020-11-6 22:12
很详细!
<p>别人都走过一轮儿了,写起来会使人乏味。</p>
页:
[1]