超子物联网 HAL库学习 汇总入口:
超子物联网HAL库笔记:[汇总]
写作不易,如果您觉得写的不错,欢迎给博主来一波点赞、收藏~让博主更有动力吧!
汇编的启动文件(.s结尾的那个)在每次复位时,都是先调用SystemInit函数去配置时钟。 默认的最终时钟是 使用的是内部的HSI 内部高速时钟 8MHZ
- SystemInit首先会设置CR寄存器(时钟控制寄存器)把位0置1(使用内部高速时钟)。
- 然后会去设置CFGR寄存器,主要是设置路径,以及倍频之类的东西
我们可以调用 来把时钟输出8MHZ的方波到默认的PA8上验证一下。
在使用HAL库前要用HAL_Init()初始化一下。
main.c
所以仅仅需要这两行就可以输出时钟了。示波器验证正确。
注意
- APB1最大时钟为36MHZ
- APB2最大时钟为72MHZ

需要设置的。和路线,其实就是在函数中一步步设置。
代码如下
main.c
rcc.c
结果如下(转换成10进制):分别为 64M 32M 64M

流程如下

只修改了rcc.c的文件
rcc.c
结果:

HAL_Init 是 HAL库要求我们调用的第一个函数。
下面是HAL_Init调用时 做的工作:
标准库和HAL库的很大的一个区别:Systick
- 每次进入Systick中断时 对32位全局变量uwTick累加1
- 提供了HAL_GetTick 获取uwTick全局变量
Systick时基最常用的地方就是各个外设采用阻塞轮训处理数据时,做超时判断、阻塞延时、
到此这篇Gmock使用(gmock doall)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/52305.html