当前位置:网站首页 > C++编程 > 正文

Gmock使用(gmock doall)



超子物联网 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调用时 做的工作:

  1. 指令预取功能打开
  2. 设置中断分组
  3. 将Systick作为时间基准,配置为1ms的中断
  4. 初始化底层硬件
  5. 返回 HAL_OK

标准库和HAL库的很大的一个区别:Systick

  • 每次进入Systick中断时 对32位全局变量uwTick累加1
  • 提供了HAL_GetTick 获取uwTick全局变量

Systick时基最常用的地方就是各个外设采用阻塞轮训处理数据时,做超时判断、阻塞延时、

到此这篇Gmock使用(gmock doall)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • vs2010怎么创建c语言项目(vs2010怎么创建一个c++项目)2026-05-13 23:18:07
  • cpu参数对比(cpu参数对比工具)2026-05-13 23:18:07
  • conv1D conv2D区别(conv2d conv3d)2026-05-13 23:18:07
  • lib.dll文件丢失(libjcc.dll丢失)2026-05-13 23:18:07
  • autoexec宏怎么创建(如何创建autoexec宏)2026-05-13 23:18:07
  • cp1515n(Cp1515n设置中文)2026-05-13 23:18:07
  • can报文解析工具(如何用canoe解析报文)2026-05-13 23:18:07
  • cnns认证(nisc认证)2026-05-13 23:18:07
  • msvcp140dll丢失怎样修复(msvcp71dll丢失怎样修复)2026-05-13 23:18:07
  • cmake多目录编译(cmake 当前目录)2026-05-13 23:18:07
  • 全屏图片