完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
本帖最后由 上官梦舞 于 2016-11-14 10:04 编辑 刚开始很是纠结一件事情,STMCubeMX这东西生成的都是对库的初始化,很多东西的初始化并不尽如人意。我很不想用HAL库。但是首先官方没有给出412的标准库,其次既然都说HAL库是未来的趋势,那就只能开始学习使用HAL库了。 既然要用HAL库,那就要先安装STMCube,这个可以自己下载安装。 或许很多人和我一样对cube这玩意儿陌生,打开之后出了一个时钟的配置很清楚,其它的都懵逼了。 那我也把我刚学的这些写出来给大家参考。
打开软件很清爽,但是另外一种说法就是很简陋。新建项目,打开项目和帮助。大家都知道是新建项目。 弹出来框框,选择MCU【箭头2】,或者选择开发板【箭头3】。那既然是nucleo开发板那就选择开发板吧。
选择板子系列,双击我们的开发板或者,点击底下的[OK]都可以进入环境。右上那个【>>】可以预览板子。
呶,这个样子,我们板子的基础配置都有。有一点不符合的就是PB0这个LD1没有对应的处理。
放大后我们处理一下PB0,点击一下选择output。引脚会变绿色。其它的你自己看看。
点第二个选框,不说你也知道是干嘛的,配置系统时钟的。很方便,可是音脆斯挺的是HSI竟然是8M,这有点逗比。 8M就8M反正送的板子,我还要啥自行车。
第三个选项框,配置项,我们修改一下GPIO.双击
会看到已经有好几个引脚配置了,但是我们的PB0最后的一个modify款没画勾,对照LD2和LD3进行修改
点击一下,然后在下面修改,完成后你会发现自动画勾了。 下面看看我们的按键中断。
双击进入
上面是中断分组配置,目前是分组4,也就是0-16级中断
配置一下,修改成分组2,也就是有4*4也是16级中断,但是这个时候可以选主优先级和子优先级。我配置为主1子2. 最后一个选项框是功率计算的,我也没多研究,到这里就可以生成了。
点击这个图标,弹出下面的框。
填写项目名称,选择项目位置,选择项目使用的编译器,点击OK.
自动生成进度条---------
成功生成,有三个选项,打开文件夹,打开工程,关闭。那当然要打开工程了,前提你已经装了keil。
异常干净。好了,看看main函数
HAL初始化,时钟初始化,端口初始化。好简单,连while主循环都是空的呢!我们的中断什么的呢?
去goio初始化看看,原来有处理啊。 那我们先试试led能不能blingbling.
在主函数里开始写。当你的编译器开了自动提示补全会提示你相应的函数可以选择。
你会发现LD1_Pin,是定义好的,delay函数也有提供,吼吼吼 编译无错误,无警告,下载,按一下复位,绿灯开始bilingbling,吆西。。。 下面就是中断喽。
HAL好多地方使用回调(diao四声)函数,在这里我们找到了它的名字。 这里复制一下到主函数去。
应该能看懂,判断是否为B1_PIN,就是button1,板上的蓝色按键,如果是就翻转LD2.编译验证一下。 吆呵呵,可以哦,按一下蓝灯换一下状态,但是也有手抖的时候。 加个防抖试试。 |
|
|
相关推荐
|
|
|
|
|
|
|
|
|
|
|
1201 浏览 1 评论
1049 浏览 0 评论
915 浏览 0 评论
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
5084 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
3882 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-13 03:59 , Processed in 0.767857 second(s), Total 80, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖