STM简介
- STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器,本次课程采用的STM32F1系列,ARM公司设计ARM内核,半导体厂商完善内核周边电路并产生芯片
STM32F103C8T6参数
- RAM:20K 指运行内存,实际存储介质是SRAM
- ROM:64K 指程序存储器,实际存储介质是Flash内存
- 供电:2.0-3.6V 标准3.3V
- 封装:LQFP48
最小系统电路包括:
- 供电
- 时钟
- 复位
- 启动配置
- 下载端口
启动配置
- 在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式
- BOOT1:X BOOT0:0 flash启动
- BOOT1:0 BOOT0:1 串口下载 。
系统存储器就是STM32中的一段BootLoader(接收串口数据,然后刷新到主闪存中) - BOOT1:1 BOOT0:1 调试
STM32F103C8T6 Peripheral
- NVIC:内核里面用于管理中断的设备,例如配置中断优先级
- SysTick:用来给操作系统提供定时服务的,因为STM32可以加入FreeRTOS等实时操作系统,利用SysTick提供定时进行任务切换的功能
- RCC:复位和时钟控制,可以对系统的时钟进行配置,还使能各模块的时钟。在STM32中,外设上电后是默认没有时钟,没有时钟外设就无法工作。
- GPIO:通用的IO口
- AFIO:完成复用功能端口的重定义
- EXTI:配置好外部中断后,当引脚有电平变化时,就可以触发中断,让CPU来处理任务。
- TIM定时器:分为高级定时器、通用定时器、基本定时器,不仅可以完成定时中断的任务,还可以完成测频率,生成PWM波形,配置为专用的编码器接口。
- ADC:模数转换器,STM32内置了12位的AD转换器,可以直接读取IO口的模拟电压,无需外置
- DMA:直接内存访问。可以帮助CPU搬运大量数据等繁杂任务。
- USART:同步/异步串口
- I2C/SPI:通信协议
- RTC:实时时钟,在32内部完成时、分、秒的计时功能,还可以接外部电池,掉电也能正常运行
- CRC:一种数据的校验方式,用于判断数据的正确性
- IWDG/WWDG:当单片机因为异常导致死循环时,看门狗可以及时复位,保证系统的稳定。
- DAC是数模转换器,它可以在IO口直接输出模拟电压
- OTG:让STM32作为USB主机去读取其他USB设备
软件的安装:
- 安装keil5 MDK,可以和keil C51安装在同一个目录下
- 安装器件支持包,可选离线或在线安装方式
- 双击安装STM32F1xx.DFP支持包文件
- 软件注册
- 打开Keil5–文件–License Management,复制CID号码
- 在注册机中选择型号为ARM,输入CID,点击生成序列码,把序列码输入到Keil License Management的ID Code栏即可完成注册
- 安装STLINK驱动
- 在Keil5的安装目录下,ARM–STLINK–USBDriver中找到dpinst_amd64.exe即为STLink的驱动,安装即可
- 安装串口驱动
系统结构图:
启动配置:
实物图:
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
笔者在GitHub开了个 discussion 技术&开源&文章推荐,欢迎读者推荐贡献内容或者知识渠道 欢迎来到第 60 期的【视野修炼 – 技术周刊】,下面是本期的精选内容简介 强烈推荐 通义灵码 System Design 101 – 开源…