完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
|
|
相关推荐
1个回答
|
|
|
前言
工欲善其事,必先利其器。HAL库的开发不一定必须使用cubemx,但是使用了cubemx,你绝对不会后悔。基于一些小伙伴对cubemx的使用还有一些疑问,本次小飞哥从新建工程到生成工程,编写应用代码,和大家一起聊一聊到底该如何使用这个神器。本次是建立在已经安装好cubemx的情况下,错误之处还请多多指教。 1、cubemx总体界面介绍 2、cubemx芯片界面介绍 小飞哥本次使用的是上期介绍的falling-star board,主控STM32f103RET6,cubemx选择的是此型号。 时钟选择配置 STM32 有4个独立时钟源:HSI、HSE、LSI、LSE。
注意:内部高速时钟相比较外部高速时钟是不够稳定的,在一些极限条件下,很可能出现始终不稳定,导致通讯失败。 根据自己需要以及硬件设计,如果设计有外部时钟,建议一定要选择外部时钟作为时钟源,不用的话,你设计来干嘛呀~ 仿真器、时基配置 外设等MCU资源配置 本节我们以最基础的GPIO配置、定时器配置、串口配置来说明如何配置使用到的MCU资源。
关于定制周期的计算,T = 周期/(分频系数/时钟频率),比如,72MHZ频率下,图示配置周期为:T = 100/(72000000/7200)S = 0.01S,即10ms 那时钟周期是多少怎么确定的呢,这就需要看时钟树,以及TIM3挂载在哪个时钟下了,TIM3是挂在APBH1时钟线下的,所有时钟频率为72MHZ。 配置项总览 对于我们刚才的配置,我们可以通过图示,来对我们刚才的配置进行一一确认,可能有小伙伴发现问题了,那我刚才先点击每一个模块,具体参数在这里调整不是更方便吗?没错,我们可以打开所需模块后,然后在这里统一进行配置,这里关于外设的使用情况,参数配置一目了然,还是很方便的。 3、生成代码工程配置 配置完之后,我们只需要小手一点,就可以愉快的玩耍啦! 4、代码风采 可以看到,关于GPIO、定时器、串口的配置生成了独立的文件,非常的整洁。
5、应用代码编写 前面搞了那么多,好像跟我们没一毛钱关系,接下来,到我们大展身手的时候了,进行应用代码的编写,实现定时器控制,500ms串口打印一句话,LED闪烁。 写代码啦,写代码啦,该怎么写,赶紧百度百度,WC,怎么没网了,这怎么办?其实,基本的接口函数都在工程本身,我们要学会从工程本身去找资料。
打开GPIO.h文件,关于GPIO操作的函数都在这里,我们要做的只不过是看懂,传参数就可以了,比如,IO输出的函数,第一个是输出高或者低,第二个是IO状态翻转,我们都可以用,比如GPIO输出原型,我们只需要按照说明传参数就可以了。 void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState) HAL_GPIO_WritePin(Sys_LED_GPIO_Port,Sys_LED_Pin,GPIO_PIN_RESET); HAL_GPIO_TogglePin(Sys_LED_GPIO_Port,Sys_LED_Pin);
要实现定时器中断的功能,我们还需要开启定时器中断 既然牵扯到,中断,那必须少不了中断响应函数,HAL库对每一类中断封装了个中断回调函数,定时器回调函数,这里牵扯到一个_weak关键字,大家可以百度百度,这里不展开说了,简单一句话(当然是有很多说法的,大家可以自行百度哈),这个函数,你可以拿到别的文件里不用改名字,我们只需要在定时器中断回调函数中编写中断服务程序即可,有一句话,也是很好的习惯,中断不要做很多事情,尤其是长延时,最好置个标志就走,万花丛中过,片叶不沾身那种感觉。
实验现象 |
|
|
|
|
只有小组成员才能发言,加入小组>>
1599 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4738 浏览 0 评论
4229 浏览 9 评论
3822 浏览 16 评论
4398 浏览 1 评论
4212浏览 3评论
2381浏览 0评论
3394浏览 0评论
1159浏览 0评论
2844浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 11:11 , Processed in 0.650579 second(s), Total 74, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
738