STM32基础知识

首先肯定是要熟悉一下stm32(stm32g431rbt6)板子的布局了

其实过一遍就可以大概记住什么东西在哪个位置了。

然后就是原理图,熟悉各个引脚的功能

 

上面的DAP Link和 目标MCU也就是板子上的这两个东西,被那个LCD给挡住了

再看看芯片的命名规则

其实和51或者是15的差不多。15、51都是8位单片机,每个地址都是由8位组成的,地址可以表示为:0x_ _,而32是32位的,地址可以表示为:0x_ _ _ _ _ _ _ _,所以51、15最多可访问255的地址,而32可以访问4G的地址。

下面看看stm32内部结构

红色圈起来的相当于内部的CPU,然后通过总线连接各个资源,有两个总线AHB1和AHB2,挂着各种资源,这要顺着看下去,应该就可以了解其内部的分布了。(这么看的话,就好像相当于一张地图,你想找哪个,顺着线路找下去,或者像人的身体系统)

要编写stm32程序首先要用STM32CubeMX自动生成一些底层代码,第一步就是要配置时钟了,一开始看到时钟配置界面的时候其实很害怕,因为看不懂(哭笑不得)。。。
看一看下面这张图

 

不过这样顺藤摸瓜下来还是可以看懂一点的,相同颜色椭圆圈起来的的说明他们是同一个。绿色椭圆圈出来的,可以看出, 我们使用的是高速外部时钟,那stm32系统时钟是通过高速外部时钟和高速内部时钟通过PPL的配置再给主频

所以,我们配置时钟模式的时候。

时钟配置也是一目了然了

stm的内部资源地址(存储地址)

SRAM起始地址:0X2000 0000

外设起始地址:0X4000 0000

flash起始地址:0X0800 0000

再低层一点的东西我也不太了解了。。

HAL库和LL库:

HAL库 (Hardware Abstraction Layer)是ST官方推崇的新编程库,HAL库是ST为STM32最新推出的抽象层嵌入式软件,可以更好的确保跨STM32产品的最大可移植性。HAL使用了比较大的Flash和SRAM。

LL库(Low Layer) 是ST最近新增的库,与HAL捆绑发布,文档也是和HAL文档在一起的LL库更接近硬件层,对需要复杂上层协议栈的外设不适用,直接操作寄存器。其支持所有外设。使用方法:独立使用,该库完全独立实现,可以完全抛开HAL库,只用LL库编程完成。在使STM32CubeMX生成项目时,直接选LL库即可。如果使用了复杂的外设,例如USB,则会调用HAL库混合使用,和HAL库结合使用。编译后LL库只有HAL库的33%体积。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
STM32是由ST公司生产的一系列微控制器单片机(MCU),采用ARM的CPU架构。它包括多个系列,如STM32F10x、STM32F2xx、STM32F3xx、STM32F4xx和STM32F7xx,根据FLASH容量的不同可以分为大容量、中容量和小容量。\[1\] 学习STM32的资料包括中文参考手册、STM32F103ZET数据手册和Cortex-M3权威指南。中文参考手册主要讲解寄存器说明和各个模块的框图,STM32F103ZET数据手册则介绍了电气特性和资源信息。Cortex-M3权威指南则详细介绍了内核的结构和寄存器。此外,还可以参考ST官方网站www.stmcu.com获取更多资料。\[1\] STM32的外部管脚命名方式与51单片机不同。51单片机使用P0-P3端口名和P0.x管脚名称,而STM32使用PA-PG端口名和PA.x管脚名称。\[1\] STM32具有强大的中断支持,支持256个中断,其中包括16个内核中断和240个外部中断。但实际上,STM32并没有使用CM3内核的全部功能,而是只用了一部分。STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。在STM32F103系列上,可屏蔽中断数量为60个。\[2\] STM32的芯片由两部分组成,即Cortex-M3微控制器内核和ST公司开发的片上外设。Cortex-M3微控制器内核是ARM公司推出的基于ARMv7架构的32微控制器内核,而ST公司则在此基础上开发了STM32单片机的片上外设。\[3\] 以上是关于STM32基础知识的入门介绍。如果您有更具体的问题,我可以为您提供更详细的解答。 #### 引用[.reference_title] - *1* [STM32入门之基础知识](https://blog.csdn.net/qq_41174320/article/details/80717363)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [STM32开发基础知识入门](https://blog.csdn.net/weixin_44918105/article/details/129690074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32入门基础知识点](https://blog.csdn.net/STM89C56/article/details/105937019)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wu小燕呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值