开始玩蛙板

小蛙最近开发了一个蛙板,购买地址,实物与描述不符,实物是第二代用的QFN的STM32F042G4U6,6K内存,16K闪存,21个IO。
拿到手后连接电脑,可以识别成一个鼠标,如何进行开发呢,参考教程
根据介绍可以去这里下载开发环境,目前是免费授权,抄下了一个授权码,需要填表后网页下载,778M,大概30K每秒的样子,当然也可以去蛙群共享里下载。
还有一个具体型号STM32F042G4的支持包要下载,大概25M。
DFU下载工具要去这里下载,需要填写邮箱并验证后才能下载,大概13M,下载蛮快的。
后边两个都下载完了,MDK才下载100多M。
好像还要下载一个配置工具,干嘛用的不知道,听小蛙的,下下下,下载下载,同样需要邮箱验证。好像是两个大家伙309M+125M,不过速度都挺快的,两个都下完了,MDK还没下载到200M,心疼小蛙。
MDK真慢,先安装那个DFU工具吧,据说里边有bootloader的驱动,安装了DfuSe v3.0.5,驱动看STMicroelectronics\Software\DfuSe v3.0.5\Bin\Driver,似乎只有win7-win8.1,自动搜索吧,win10也安装成功了。

下了一宿终于下完了,下一步就是安装了,小蛙的文章里没写,或许太简单了吧。
安装完MDK后会自动弹出Pack Installer,File->导入下载的pack就好了,板子上是G4为啥不是G6呢?小蛙说其实都是32K。
然后安装CubeMX,问题又来了,要java,球猫说要jdk,jre不行,按照弹出的链接下载安装就可以,也不知道装的什么,挺快的。
还有一个F0的包怎么安装呢,打开软件,help->Install New Libraries->From Local选择zip包就好了,蛙说也可以在线装。

终于把蛙板的开发环境装完了,然而还不会blink,先睡觉。

睡醒了继续玩,参考蛙贴蛙贴,打开MX,选择New Project,筛选芯片F042G4,选好后Start Project,会显示一个QFN28的芯片,左边的SYS中勾选Pins P11/12 instead OF Pin P9/P10,否则不行设置USB,在图上设置PB8为GPIO_Input,设置PA14为SYS_SWCLK后PA13自动变为SYS_SWDIO,设置PA12为USB_DP后PA11自动变为USB_DM,设置PB1为GPIO_Output,实际大概19个IO可能算上USB是21个还是算上SWD不太清楚,反正不少的样子。
时钟页,自动48MHz,可能是设置了USB的原因。第三页,选择USB_Device设备类型HID,右边USB_DEVICE可以定义一些USB描述(第二页),右边GPIO中,可以给两个IO设置标签LED和KEY,其中KEY设置Pull-down。
Project->Setting,给工程起个名字,选个位置,Toolchain/IDE选择MDK-ARM V5,别的就不用动了,OK。
Project->Generate Code输出后Open Project,联动打开了MDK,太神奇了!
Project->Build Target(F7)编译,没有问题,然而并没有找到HEX,需要Project->Options for Target ...->Output勾选Create HEX file,重新build就可以找到hex文件了。
参考蛙帖,打开Dfu file manager,选择第一项打开hex文件,Generate生成dfu文件。
打开DfuSeDemo,蛙板PB8+RST,驱动已经提前装好,Choose选择载入dfu文件,然后Upgrade下载到蛙里。

在main.c的main的while(1)中添加

 if(HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin) == 0)
 {
   HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
 }
 else
   HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);

重新编译,转换,下载到蛙里,就可以实现按键亮灯功能了,暂时还不会blink。

标签: none

添加新评论