打印
[STM32F4]

【NUCLEO-F446ZE】后知后觉,使用STM32CubeMX快速开发

[复制链接]
1317|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wgsxsm|  楼主 | 2016-4-21 00:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wgsxsm 于 2016-4-21 00:34 编辑

拿到NUCLEO-F446ZE近一个月了,其实业余时间一直在弄,只是到最近有了眉目,才将帖子发上来。
STM32CubeMX之前就试用过,可惜都是半途而废,没有真正的走过一遍,当时觉得软件做的不好,库什么的变得很难调用。
最近搜索资料,了解了其用法,找对了方法,发现使用起来还是非常方便的,图形化的操作,勾勾选选即可完成底层的配置,实在是可以大大缩短开发时间。
现在对这个工具我逐步将自己碰到的一些问题以及自己的见解发上来。
1.软件及相关库文件的下载
STM32CubeMX下载地址:
http://www2.st.com/content/st_co ... rs/stm32cubemx.html
STM32CubeF4库文件包离线下载地址:
http://www2.st.com/content/st_co ... re/stm32cubef4.html
当然,你也可以使用软件的在线下载功能,但是比较慢,不建议在线下载。
软件的安装没有什么值得说的,一步步安装完毕即可。
2.软件的设置
安装完相应的软件及下载好离线库文件之后,就可以进行加载了,如下图:


加载时间可能有点久,过程类似压缩包的解压缩,然后拷贝到软件的指定位置去。
加载完毕之后,检查更新,建议更新到最新版,以免和官方脱节。

到此,已经将需要的库文件加载到软件来了,这样的话马上就可以生成自己的项目了。
软件的设置,保持默认即可,无需改动。
3.快速操作,先闪个灯
新建一个项目,如下图,快速找到对应的MCU,需要说明的是,也可以选择Board Selector进行快速选择到该NUCLEO板,
但是,发现里面有一些问题如HSI定义为8M无法被修改等问题,时钟配置问题解决不了,不得不采用以上所说的办法。

保存项目,建议如下进行,点击project--settings,在project location 选择好保持的目录,在project name填写你想取得项目名称。

另外,注意,在IDE那里一定选择好,以免出现生成好的项目打不开的现象。

根据原理图配置引脚。

在pinout进行将上图的两个引脚配置为输出型的。

在clock configuration里进行设置时钟,板载的8M晶振未焊接,采用内部HSI即可。
填入你想要的时钟数,进行自动生成。

在configuration里进行进阶的配置,如gpio的初始化为高或者为低,速度以及是否带上下来的选择。


Power consumption calculator里无需设置,L系列估计才会用得到,暂不予理会。
至此,都已经配置完毕,点击保存,点击生成按钮即可完成。

生成时候,会有进度条的提示,生成完毕,会有如下界面显示,点击打开文件夹或者工程文件即可。

打开工程,打开main.c,可加入延时观察LED闪烁。
记得一定要在USER CODE BEGIN和USER CODE END段落里添加,否则,当你在STM32CubeMX进行修改某些参数再保存后,你之前添加的代码段将会全部被清除,切记切记

编译之后,可以直接download,mdk以及配置好采用stlink下载。
按一下RESET按键就可以看到闪烁灯了。
附上源文件
F466ZE_LEDs.zip (3.97 MB)

4.个人小项目
之前根据NUCLEO板子自己做过一个带有一些外设的DIY板子
现在想采用sharp memory lcd 和pcf8563进行来个时钟显示。
主要用到了RTC,spi,iic等外设,都是采用了STM32CubeMX的图形化操作完成的,非常方便。
折腾了好几个晚上,终于搞定了。上个图片和视频。



沙发
mmuuss586| | 2016-4-21 13:57 | 只看该作者

谢谢分享;

使用特权

评论回复
板凳
lux721| | 2016-4-22 11:13 | 只看该作者
赞!非常好的经验交流

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

652

帖子

4

粉丝