本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:东东_dxGGN2
我收到的开发板是GD32F427R-START,MCU是GD32F427RKT6,如下图(座机拍的见谅)
测试流程如下:
1、使用官方提供的demo测试
2、利用STM32CubeIDE点灯
3、测试PWM、uart、板载的USB输出
先附上自己的工程
链接:https://pan.baidu.com/s/1oZ5d_FSwZTbJ2-n1xiPxfw
提取码:kafw
–来自百度网盘超级会员V5的分享
下面进入正题
1、官方例程测试
(1)首先需要下载例程和MDK下的pack
(2)在GD32F4xx_Demo_Suites_V2.6.1\GD32427R_START_Demo_Suites\Projects目录下
(3)点开第一个点灯工程
(4)在project->manage->migrate to Version 5 Format,转成MDK5工程(注1:假如使用的是MDK5的话才需要转;注2:群里大佬指点并非原创)
(5)点击pack installer
(6)安装GD32F4xx_AddOn_V3.0.0\GigaDevice.GD32F4xx_DFP.3.0.0.pack
(7)之后重新打开工程并编译
(8)选择烧录器
或
上面需要插上开发板才能找到
然后一路OK回到代码界面
(9)烧录代码
(10)然后就能看到板载的LED0开始闪烁了
(11)前面几个例程都差不多,那就选择打开USB_MSC_Device的工程。为什么不选择最后一个例程?因为我编译的时候无法编译,毕竟MDK没破解
(12)进行跟上面差不多的步骤转成MDK5的工程,然后编译,发现编译不通过,提示少了头文件
(13)进行如下操作
然后一路OK并重新编译
(14)之后再按照上面说到的烧录的步骤进行烧录
(15)将板载的USB-FS通过数据线插到电脑上,会提示格式化,格式化后就能发现是个U盘了
(16)例程就说到这里
2、利用STM32CubeIDE点灯
(1)打开STM32CubeIDE,选择STM32F427VIT6,因为ST没有64脚的F4,所以就选择的这个
(2)配置和编译
这边应该也是可以选择SWD的,看硬件原理图上面有
单击选择GPIO_OUTPUT,然后右击选择enter user label,输入LED1
输入180后回车会自动配置,注意这边GD的最大是240,用这个软件是配置不了的,可以在代码生成后试试修改代码,但要注意,再次生成代码时会覆盖修改部分。我比较懒,就默认配置就好了。
双击打开main.c
在main函数死循环中添加图示两行
HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
HAL_Delay(1000);
右击,选择properties
点击Apply and close
选择release
观察有没有HEX后缀的文件
(3)到GD官网下载并安装GD-Link programmer
(4)打开GD-Link programmer
主要用到的就是这几个,也要多注意output栏的输出。
烧录步骤是先将刚刚编译生成的HEX文件拖拽到GD-Link programmer,然后connect连接开发板,最后点击program烧录,这样就可以看到LED1灯在闪烁了。
3、测试PWM、uart、板载的USB输出
(1)毕竟用的不是GD官方的IDE,而且芯片本身也不同,所以总会有失败的,而且我也是小白,试过修改但并没有解决问题,希望大佬看到了能指点一下。
(2)首先测试的USB,板载的两个USB连接电脑后均显示无法读取描述文件,出现这个也还说明配置是有点效果的,下面贴上配置的步骤
USB_OTG_FS和USB_OTG_HS这俩都可以,分别对应不同的USB
时钟频率配置的120MHz,主要是为了可以让USB的频率是48MHz,其他操作都是一样一样的。
https://blog.csdn.net/yy123xiang/article/details/120042888
上面这个链接看上去能行,我并未测试,不多说。
(3)配置PWM和UART,PWM输出的电压测量了是可以的,因为手头没有示波器,所以不敢百分百确定是成功的;而UART使用TTL转串口则是不成功的,没有数据输出,测量的电压只有1.几V,实际是没有数据输出的。配置过程如下
这边PSC配置的179,ARR配置的999,而时钟频率都是以STM32最高的(180MHz)来配置的,所以算下来脉冲频率是1K
占空比设置的是200和800,也就是1:4
添加TX和RX的DMA,另外这里还可以配置单次读取和循环读取,就看自己的需求了。
这边测试下来,PWM输出电压分别是0.698V和2.638V,与1:4差不太多,没有示波器,不敢说这就是完全没问题的;UART目前确认是成功的,其实前面没成功是因为之前使用STM32的时候,都是硬件做的上拉,直接配置默认的无上下拉,写文章的时候突然想到这个问题将TX和RX分别配置成了上拉并进行了测试,确认收发是可行的。代码部分可以参照:
https://blog.csdn.net/weixin_48896613/article/details/127426478,中的第五点。
4、个人感想
(1)对比STM32和GD32是大家经常挂在嘴边的,我用ST家IDE来配置和写代码应该不过分吧。
(2)GD32相比之前已经好很多了(网上看别人讲的,我之前没用过),我测试下来很多都是通用的,所以从STM32转到GD32应该不是啥大问题。
(3)我为啥要用STM32CubeIDE呢,直接配置不好吗?那当然是因为好用啦,省去了很多配置的烦恼,缩短开发进程,也能让人更加关注业务本身而不是配置,虽然现在GD没有IDE,但我希望有一个。
(4)测试用的能不能配上排针和铜柱啊,这东西我真没有啊。
(5)完。