从0学习stm32

1.STM32介绍:

ST:指的是意法半导体;

M:指定微处理器

使用的是ARMCortex-M3

ARM分成三个系列:

Cortex-A: 针对多媒体应用(手机)

Cortex-R:针对对实时性和性能有一定要求的场景

Cortex-M:针对低功耗高性能的场景

        Cortex-M0,Cortex-M3,Cortex-M4

指令集:精简指令集;

不同的场景应用具体可以参考产品选型手册:

        《STM8和STM32产品选型手册》

STM32命名规则:

 

 F:通用快闪(FlashMemory)

 L:   低电压(1.65v~3.6v) 

F类型中的F0xx和F1xx系列为2.0~3.6v,F2xx和F4xx系列为1.8~3.6V;

2.stm32芯片内部系统

SoC:片上继承系统

                              stm32微控制器(SoC)

Cortex-M3:内核,执行程序代码

调试系统:供我们调试使用

外设:外部设备

时钟和复位系统:复位指的是按下复位,恢复最原始的状态,芯片正常工作必须有时钟系统;

存储器:存储,Flash,可执行代码下载到存储器,需要执行时加载到内核中;

I/O:控制输入输出的引脚,与外部设备通信

 3.stm32最小系统组成

stm32f103c8t6;

(1)供电系统:

(2)时钟电路(内部时钟源,外部时钟源)

(3)复位电路

(4)下载的接口电路

(5)boot(电路)(启动电路)

 

VCC,GND供电,swdio,swclk下载程序

reset复位按钮 ,8MHz的外部晶振(外部时钟)

4.固件库

(1)mcu的开发方式:

开发语言:汇编语言,C语言

stm32单片机:(汇编  启动代码+C)开发只用到C;

实际开发编程过程中使用的方法:

           1) 配置mcu中的某个功能模块的寄存器,进行操作;

           2)使用ST官方提供的固件库驱动操作

ST官方提供了STM32cubemx 软件,图形化配置开发软件;

(2)固件库:STM32标准外设函数库,简称固件库;

        特点:1)主要由功能接口,数据结构,宏等组成,涵盖了微控制器所有外设的性能特征;

                   2)为开发者访问底层硬件提供了统一的API;无需深入掌握硬件实现细节;

 内含底层源码和启动文件

             CMSIS:启动文件

         STM32.......:外设驱动

                inc:头文件

                src:源码

  CMSIS主要包含:

 stm32f10x.h:实现了硬件寄存器结构,地址映射,寄存器位操作,基本类型等定义;

core_cm3.x:主要针对一些通用寄存器,中断优先级,启动模式相关的内嵌汇编操作接口

system_stm32f10x.x :系统启动初始化,尤其是系统时钟配置

startup_stm32f10x_xx.s:引导启动文件

STM32F10x_StdPeriph_Driver主要包含:

固件库驱动模块(根据需求配置)

 misc.x:主要是中断初始化,分组管理相关接口,实现了用户对中断的配置功能

stm32f10x_exit.x:中断服务相关

 stm32f10x_conf.h  用来统一包含当前系统要用的功能模块头文件,并实现了assert_param宏

5.keil5:

       编译按钮

          工程目录按钮

       配置工程按钮

             软件调试

 (1)目录结构管理:

 

 USER:存放自己写的代码

Libraies:存放固件库相关文件

MDK-ARM:存放相关工程

 

   晶振改为8WHz

   修改输出文件位置

     定义宏

  定义头文件

 

 

 

 

 注意APB1和APB2的时钟不同

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

左手的月光

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

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

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

打赏作者

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

抵扣说明:

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

余额充值