首先当我们每拿到一块从未接触的板,第一步肯定是搭建开发环境,点个灯似乎已经是单片机界的"Hello world",已成习惯。
对于Keil和IAR,各有各的好,因为Keil是ARM公司的亲儿子嘛,兼容很好,界面做的也不错,这边我们选择最新版MDK5.22+F7的2.8包进行开发。
MDK和pack下起来比较麻烦,需要注册账号,而且下载比较慢,这边我把工具和包上传到百度云了链接:
http://pan.baidu.com/s/1kVa2tpX 密码:slpv,有需要的朋友可以下载安装。
Keil安装不用说了吧,一路默认即可,安装玩Keil之后,双击pack,默认安装即可,还有破解时,需要以管理员身份运行。这个工具的安装,想必大家都知道,就不多说了。
下面详细介绍下工程的建立,因为HAL写的还不错,所以选择库开发。
为什么不选择寄存器呢?
第一,虽然执行效率高,但开发效率慢,毕竟我们评测的时间很短,所以得抓紧时间,还是推荐库开发。
第二,后续的很多复杂的东西,你没法用寄存器去慢慢配了,比如你驱动下dsi接口的液晶,还用寄存器去写,考虑到自身能力有限,所以就放弃寄存器的开发了。
进入正题,首先先建立一个文件夹,在里面建立几个子文件夹,
,如下图所示,
其中两个子文件夹直接到pack中复制即可,打开Keil的安装路径,
这两个文件夹直接复制过来就行,还需要一个启动文件和几个.c文件,需要在
工程中寻找,
,分别将启动文件复制到Startup文件夹下,别的三个C文件和三个头文件放到APP文件夹下即可,完成后如图所示,
下面打开Keil建立工程,保存在prj目录下,
下面添加文件即可,
,添加完成后打开设置,
最终,编译完成,
,单击下载就能看到现象了,LED2绿灯,500ms闪一次,当按下用户按键的时候,LED1红灯跳转电平,码了这么多图,但觉得写的还不够详细,我把工程和安装包、板子的原理图一起上传到网盘了链接:
http://pan.baidu.com/s/1kVa2tpX 密码:slpv,有错误的地方还望指出,毕竟小白刚起步。
GPIO_InitTypeDef gpio_init_structure;
LEDx_GPIO_CLK_ENABLE();
/* Configure the GPIO_LED pin */
gpio_init_structure.Pin = GPIO_PIN[Led];
gpio_init_structure.Mode = GPIO_MODE_OUTPUT_PP;
gpio_init_structure.Pull = GPIO_PULLUP;
gpio_init_structure.Speed = GPIO_SPEED_HIGH;
HAL_GPIO_Init(GPIO_PORT[Led], &gpio_init_structure);这个配置IO的想必学过STM32的一定一目了然,对于IO口就不讲述太多,就这样了。
点击此处,查看STM32F769I开发板官方资源。