一、STM32来历背景
1.从51到STM32
(1)单片机有很多种
(2)STM32内核使用ARM,但是ARM不一定是STM32
(3)ATM32是当前主流的32位高性能单片机
(4)STM32的特点:高性价比,内部外设丰富,高MIPS(兆指令每秒),广泛的群众基础。
2.STM32从何而来
(1)STM32属于ARM Cortex-M3内核,内核由ARM公司设计
(2)STM32由ST(意法半导体)设计,实现并生产
ST全部产品官网:意法半导体-STMicroelectronics
(3)ST除了生产STM32之外,还生产8位单片机STM8
3.STM32选型
STM32 | 产品 | STM32/STM8 | MCU单片机 | 意法半导体STM | STMCU中文官网
二、STM32简单中文数据手册
STM32F103中文资料,STM32F103技术手册,ST代理商 - 豆丁网
DS5319_STM32F103x8,STM32F103xB单片机数据手册 | STMCU中文官网
1.功能
多重自举功能(表示有多种启动模式)
SWD是STM32特有的
JTAG是非ARM常用的
·
2.基本概述
3.NVIC:嵌套的向量式中断式控制器
4.EXTI:外部中断/事件控制器
5.自举模式(启动方式)
6.供电监控器
7.低功耗模式
8.框图
三、STM32的各种仿真器和调试器
1.仿真器和调试器的区别和联系
软件仿真:keil
硬件仿真:
仿真器:模拟CPU
调试器(debug):可以调试多种CPU
2.STM32调试接口
1.JTAG
基本所有CPU都支持JTAG【标志接口】
JTAG:占用5个GPIO【应用广泛】
2.SWD
占用2个GPIO【节省引脚】
3.STM32常用调试器
1.JLINK
2.STLINK
官方推荐
3.普中ARM仿真器
四、STM32的标准库和HAL(cubeMX)库
1.三种对STM32编程方法
(1)寄存器操作:最本质的方法
(2)标准库--标准外设库【内部外设】(相对于C语言的头文件)
(3)HAL库--处理较为复杂的程序(标准库无法实现的,自定义功能)
2.标准库和HAL库的区别
https://www.eefocus.com/e/1613121.html
1)标准库提供了底层的寄存器操作接口,适合那些对硬件细节较为关注和需要更高自定义性的开发人员。
2)HAL库则对标准库进行了封装和抽象,提供了更高层次的API函数,适合那些注重功能实现和快速开发的开发人员。
3)两者内部实际都调用了寄存器
3.库从哪里来
ST官方软件:意法半导体-STMicroelectronics
1.STM32标准库
实际上ST官方更希望我们使用Cube(HAL库)
2.STM32Cube库(HAL库)
五、本次学习的开发板
用到的开发板
1.普中HC6800 ARM3.0 STM32F03C8T6
性价比(又可以学习51和STM32)
2.PZ6806L
专门为STM32设计的
STM32F03ZET6---比STM32F03C8T6引脚更多,性价比型的
3.PZ6808L
又可以学习F4(浮点数运算)又可以学习F1(只有ARM核)
STM32F4+STM32F1(STM32F03C8T6)