在正式内容开始之前,我想宣布一件很沉痛的事情:跟随许久的盗版J-link固件掉了。本来固件掉了也没啥,顶多重新刷一哈。结果拆机以后蒙蔽了,板子上赫然写着J-Link V9.3,主控芯片是STM32F205RGT6。找了同学的J-Link来重刷固件,我的天,结果也掉了。不过万幸,J-Link V8,主控是AT91SAM7S64,重新刷写方法比较简单,成功了。吓得我赶紧放弃了重新刷固件。如果有大神会刷V9.3,请一定指导一下。
接下来,介绍一下,我使用MM32F103开发板完成的第一个小实验。
一、安装器件库
开始开发之前,我们需要安装器件库。刚开始我按照MM32F103资料里的器件包双击安装,结果安装错误。
后来发现自己的Keil版本太低了,MM32F103的器件包需要V5.18及以上版本才支持。所以,大家安装器件包前要先查看Keil的版本,如果版本过低,需要升级或重新安装。可以点击菜单栏中的Help,查看Keil版本,出现如下对话框:
更新好Keil后,我们就可以直接双击MM32F103的器件包进行安装,也可以通过菜单栏中的PACK installer进行安装。点击后,keil自动加载各种器件包,我们选择MM32F103的即可,然后点击右边的install。
同时,我们可以点击Examples按钮,下载MM32F103的例程:
二、创建工程
在菜单栏中点击Project按钮,即可创建新工程,器件选择MMF103。其他的步骤与STM32完全一样,这里就不多说。
我是直接将下载的例程的工程拷贝一份,这样就不需要再麻烦的新建工程,只需要添加外设驱动文件就可以了。
三、程序设计
第一个小实验,我做的是按键LED,用3个按键控制2个LED的亮灭状态。
因为工程中已经有LED灯的驱动程序,所以接下来只需要编写按键KEY的驱动和主函数就可以了。
在HARDWARE文件夹下新建一个名为KEY的文件夹,在该文件夹下新建KEY.c和KEY.h文件,然后将文件添加到工程中,如下图。
如果你使用的是例程修改,可能没有启动文件,CMSIS和Device这两个文件夹,需要自己添加。
点击菜单栏中第一个绿色按钮,在CMSIS下勾选CORE,在Device下勾选startup。
注意,如果工程中已经有了startup文件夹,不要重复勾选,会出错。
然后,开始编写按键驱动程序。
首先,要对按键进行初始化,即对按键IO口的配置。
然后,编写按键扫描函数。
程序设计完成后,要编译、Debug直到程序没有错误。
四、下载验证
刚才提到,因为本人的Jlink下岗了,所以我就采用了USB转串口的下载方式。可是,连接开发板以后,虽然识别出端口,但是灵动微电提供的烧录软件不能连接开发板,下载失败。
我查阅了提供的资料,也尝试更改了Bootloader,最终都没有成功。问题没解决,好尴尬,以后再继续研究研究,到底哪里疏忽了。
不过想起来,有一个STlink,就用它下载了。点击菜单栏中的魔法棒,出现下面对话框。选择ST-Link,模式采用SWD模式,并选择正确容量的Flash。
然后就可以点击菜单栏中的下载按钮进行下载。
实验结果:WAKE控制LED0、1亮灭;KEY1控制LED1亮灭;KEY0控制LED0亮灭。http://v.youku.com/v_show/id_XMTYyODkwNDEyNA==.html
五、开发体会
这块开发板整体来说与STM32有着千丝万缕的联系,所以使用起来比较亲切,程序设计也很熟悉。但是,我觉得想要吸引像我这样的入门新手,需要多一些人性化设计的外设接口,毕竟没人愿意用杜邦线乱接,不美观不说,还容易出错。不过有2401接口这点我挺喜欢的,正好要用!