0.SMT32原理概述

51和32区别

位数:

    51:8位(STC89C52)

    32:32位(STM32F103ZET6)

时钟:

  • 51:11.0592Mhz晶振
  • 32
    • F103:8Mhz晶振(×9),主频:72Mhz
    • F103:12Mhz晶振(×6),主频:72Mhz
    • F407:168Mhz主频

时钟

E:外部,I:内部

高速外部晶振:HSE

低速外部晶振:LSE

高速内部晶振:HSI

低速内部晶振:LSI

锁相环:让8MHz晶振变成72MHz主频

每个外设初始化的大致流程

  1. 把图形化界面配置的参数赋值给对应的结构体的成员变量
  2. 把结构体地址当做参数传给初始化函数
  3. 初始化函数根据每个结构体成员变量操作对应的寄存器
//时钟初始化
SystemClock_Config();

RCC_OscInitTypeDef RCC_OscInitStruct = {0};	//结构体类型变量

//在void SystemClock_Config(void)中(main.c第133)
RCC_OscInitStruct.HSEState = RCC_HSE_ON;	//(144行)

HAL_RCC_OscConfig(&RCC_OscInitStruct);	//(main.c第148)

//HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef  *RCC_OscInitStruct)中
__HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState);	//377行

#define __HAL_RCC_HSE_CONFIG(__STATE__)	//__STATE__ = RCC_OscInitStruct->HSEState(RCC_HSE_ON)           
	   do{                                                     
	     if ((__STATE__) == RCC_HSE_ON)                        
	     {                                                     
	       SET_BIT(RCC->CR, RCC_CR_HSEON);	//RCC->CR = 时钟控制寄存器(RCC_CR)
	     } 
#define RCC_CR_HSEON_Pos           (16U)
//0x1左移16位(注意是二进制左移)               
#define RCC_CR_HSEON_Msk           (0x1UL << RCC_CR_HSEON_Pos)   /*!< 0x00010000 */
#define RCC_CR_HSEON               RCC_CR_HSEON_Msk

//第17个数为1,则是第十六位,第16位:0:HSE振荡器关闭,1:HSE振荡器开启。
#define SET_BIT(REG, BIT)     ((REG) |= (BIT))	//BIT = RCC_CR_HSEON(0x00010000)

STM32芯片参数

Core: ARM 32-bit Cortex™-M3 CPU:ARM架构,32位单片机,内核型号

72 MHz maximum frequency:72MHz主频

芯片型号含义:

芯片型号含义

Flash:磁盘,RAM:运行内存

一般软件、代码等运行在RAM,但32单片机代码运行在Flash

3 × 12-bit, 1 µs A/D converters

  • A/D converter = ADC:A:模拟信号,D:数字信号,模拟信号转数字信号
  • 3:3路ADC
  • Conversion range: 0 to 3.6 V:采样值 0-3.6V
  • 12bit: 2 12 = 4096 2^{12} = 4096 212=4096,将采样范围分成4096份,即为采样精度,这个越高精度越高
  • 2 × 12-bit D/A converters = DAC:数字信号转模拟信号
  • Serial wire debug (SWD) :STL烧写
  • Up to 112 fast I/O ports:112个IO口功能引脚
  • Up to 11 timers:11个定时器

软件安装与使用

注意:所有路径不能有中文(包含用户名)

安装:keil、STM32CubeMX、STM32CubeIDE(需要的留言)

STM32CubeIDE与STM32CubeMX库文件安装路径自定义设置

搜索自己芯片型号(我的型号:STM32F103ZET6

便捷技巧

新建工程必须设置

STM32CubeMX

设置1


设置2


时钟配置


工程


工程1


完成,建工程

完成

STM32CubeIDE

新建工程

新建工程


选型号


工程名


版本号这里:1.8.5

完成

若别人工程为别的版本,需下载别的版本

下载1

下载工程对应版本即可

下载对应版本


这里与STM32CubeMX相同,参考上面配置,最后:ctrl + s 保存

在这里插入图片描述
Keil+CubeMX = CubeIDE

烧录

代码烧录方式

ST-Link

将ST-Link烧写器与单片机连接

CubeMX keil软件烧录

编译无错误后,点击图中框选按钮烧录

烧录按钮

若烧录不成功,可看是否是这个错误:链接

CubeIDE软件烧录

编译无错误后,点击图中框选按钮烧录

烧录介绍

STM32 ST-LINK Utility

其实是一个烧写软件,看图可知,对应功能

介绍

选择好对应hex文件,直接烧写即可

烧写界面

串口烧录

步骤:

  1. 数据线连接电脑和单片机串口1

  2. 手动将板子的BOOT0置1,BOOT1置0,使用Bootloader方式

  3. 断电 重启

  4. 打开FlyMCU软件烧写(若没有反应可按复位按钮尝试)
    界面介绍

  5. 手动将板子的BOOT0置0,BOOT1置0

  6. 板子重新上电

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

星仔_X

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

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

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

打赏作者

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

抵扣说明:

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

余额充值