STM32学习第一课--工程建立(云端备份与自我复盘)

STM32命名规则

重点关注引脚数、闪存容量、封装、温度范围

  1. 单片机与电脑的对应
  2. STM32选型:(性能)由高到低,(内存/闪存)由大到小
  3. 芯片的基本参数:主频/FLASH/SRAM、工作电压/最大电流、IO引脚接入电压范围、单个IO引脚最大电流
  4. 引脚类型:电源引脚、晶振引脚、复位引脚、下载引脚(三类:JTSG、SWG、串口)、BOOT引脚、GPIO引脚
  5. 最小系统:主控芯片+电源电路+下载调试电路+BOOT启动电路+晶振电路+复位电路+其它电路
  6. 复位电路 选用10kΩ电阻+104(10*10^4pF)电容,可以达到上电复位(导通的一瞬间NRST引脚电压=GND)的效果。

参考电路:

  1. IO分配:优先分配特定外设IO,然后分配通用IO,最后微调
  2. Output窗口的含义:
  1. 编译步骤:

使用部分

  1. 共建三个文件夹Start放启动文件;User放自己写的函数;Library放库函数
  2. StartC:\Users\29397\Desktop\JGY\学习\STM32学习文集\新版32套件压缩包\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm全部

【同51建立工程文件之后需要配置启动文件并粘贴到工程文件夹下(可以新建一个专门存放启动文件的文件夹START),地址如下(以STM32F103C8为例)】

C:\Users\29397\Desktop\JGY\学习\STM32学习文集\新版32套件压缩包\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x最后三个

【STM32F10x.h 是STM32的外设寄存器描述文件(作用同51单片机的头文件REGX52.H)

System_stm32f10x.h/c 用来配置时钟

此三文件同样需要粘贴到START启动文件夹下】

C:\Users\29397\Desktop\JGY\学习\STM32学习文集\新版32套件压缩包\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport两个

【Core_cm3.c/h 内核(Cortex-M3)寄存器的描述文件+内核的配置函数】

UserC:\Users\29397\Desktop\JGY\学习\STM32学习文集\新版32套件压缩包\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template三个

【Stm32f10x_conf.h用来配置库函数头文件的包含关系+用来参数检查的函数定义

Stm32f10x_it.c/h用来存放中断函数】

LibraryC:\Users\29397\Desktop\JGY\学习\STM32学习文集\新版32套件压缩包\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc;全部

【库函数的头文件】

C:\Users\29397\Desktop\JGY\学习\STM32学习文集\新版32套件压缩包\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src。全部

【库函数】

新建工程步骤

  1. 建立工程文件夹,Keil中新建工程,选择型号
  2. 工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹
  3. 工程里对应建立Start、Library、User等同名称的分组,然后将文件夹内的文件添加到工程分组里
  4. 工程选项,C/C++,Include Paths内声明所有包含头文件的文件夹
  5. 工程选项,C/C++,Define内定义USE_STDPERIPH_DRIVER
  6. 工程选项,Debug,下拉列表选择对应调试器,Settings,Flash Download里勾选Reset and Run

  1. 将启动文件(md.s)添加到目录下

(为什么是md呢)头文件缩写与芯片型号的对应关系:

  1. 添加头文件路径【USER START LIBRARY三个都需要添加,因为是我们手动添加的,所以要把地址加进去】

定义使用标准外设驱动,是使用库函数的条件编译,只有使用库函数必须定义

  1. 编码格式选择UTF-8,可以防止中文乱码  扳手��工具-Editor修改TAB键空数,colors & fonts修改字体大小,选择C/C++以及ASM的editor files
  1. 选择适配器,并在setting后选择reset and run,自动下载运行
  1. 工程架构
  1. 通过配置GPIO的端口配置寄存器,端口可以配置成以下8种模式

模式名称

模式别名

性质

特征

浮空输入

GPIO_Mode_AIN

数字输入

可读取引脚电平,若引脚悬空,则电平不确定

上拉输入

GPIO_Mode_IN_FLOATING

数字输入

可读取引脚电平,内部连接上拉电阻,悬空时默认高电平

下拉输入

GPIO_Mode_IPD

数字输入

可读取引脚电平,内部连接下拉电阻,悬空时默认低电平

模拟输入

GPIO_Mode_IPU

模拟输入

GPIO无效,引脚直接接入内部ADC

开漏输出

GPIO_Mode_Out_OD

数字输出

可输出引脚电平,高电平为高阻态,低电平接VSS

推挽输出

GPIO_Mode_Out_PP

数字输出

可输出引脚电平,高电平接VDD,低电平接VSS

复用开漏输出

GPIO_Mode_AF_OD

数字输出

由片上外设控制,高电平为高阻态,低电平接VSS

复用推挽输出

GPIO_Mode_AF_PP

数字输出

由片上外设控制,高电平接VDD,低电平接VSS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值