【stm32 库函数开发】01 学习简介
提示stm32 简介学习所需的硬件和软件资源。文章目录1. 硬件设备2. 简介2.1 stm32 介绍2.2 arm 介绍3. stm32 产品介绍3.1 命名规则3.2 片上外设peripheral)3.3 系统架构3.4 引脚定义3.4.1 stm32f103zet63.4.2 stm32f103c8t63.5 启动配置3.6 最小系统电路3.6.1 stm32 及供电3.6.2 晶振3.6.3 复位3.6.4 下载3.6.5 启动3.7 最小系统板4. 软件安装4.1 安装 keil5 mdk4.2 器件支持包4.3 软件注册4.4 stlink 驱动4.5 usb 转串口驱动5. 总结待完成1. 示波器、虚拟示波器、逻辑分析仪2. 最小系统板设计3. 多级菜单模板1. 硬件设备1. 面包板面包板使用方法✅ 窄条为 VCC 和 GND每行连通中间可能是断开的✅ 宽条每列是连通的✅ 宽条中间断开需要芯片跨接2. 电位器实际为可变电阻分压可用于 AD 转换3. 按键按下导通可跨接在芯片引脚和电源之间4. led 灯长正短负细正粗负5. ST-LINK用于下载程序和供电6. usb 转串口usb to ttl使用的 ch340 芯片需要安装驱动7. 有源蜂鸣器内置振荡源而无源蜂鸣器需要翻转 io 口8. 光敏传感器包含电源接口、模拟和数字输出9. 热敏传感器同光敏传感器10. 对射式红外传感器配合遮光片用于计次 or 编码盘用于测速11. 反射式红外传感器循迹小车用12. W25Q64flash 存储模块使用 SPI 协议13. mpu6050陀螺仪和加速度计用于计算姿态使用 I2C 通信14. 旋转编码器输出两路正交的方波信号用于指示旋转方向和速度用于测速。霍尔传感器和光电传感器输出与此模块相同15. 直流电机与 TB6612 电机驱动pwm 控制16. SG90 舵机pwm 控制用于输出固定角度17. 最小系统板芯片18. 0.96寸 oled常见有 4pin 和 7pin2. 简介2.1 stm32 介绍 stm32 是 st 公司基于 arm cortex-M 内核开发的32位微控制器类似电脑产商使用 intel 和 amd 的 cpu 完善外围电路具体包含4个类型每个类型列有不同 cortex-M 内核的产品本次使用 cortex-M3 内核的 F1 系列产品系列内核主频CoreMark特点 高性能 (High Performance)STM32F2Cortex-M3120 MHz398-STM32F4Cortex-M4180 MHz608-STM32F7Cortex-M7216 MHz1082-STM32H7Cortex-M7 Cortex-M4最高 550 MHz最高 3224高性能旗舰系列 主流 (Mainstream)STM32G0Cortex-M064 MHz142-STM32G4Cortex-M4170 MHz550面向混合信号应用STM32F0Cortex-M048 MHz106-STM32F1Cortex-M372 MHz177-STM32F3Cortex-M472 MHz245面向混合信号应用 超低功耗 (Ultra-low-power)STM32L0Cortex-M032 MHz75-STM32L1Cortex-M332 MHz93-STM32L4Cortex-M480 MHz273-STM32L4Cortex-M4120 MHz409-STM32L5Cortex-M33110 MHz443安全特性增强STM32U5Cortex-M33160 MHz651新一代超低功耗旗舰 无线 (Wireless)STM32WLCortex-M4 M048 MHz162LoRa 无线通信STM32WBCortex-M4 M064 MHz216BLE / Zigbee / Thread 无线通信2.2 arm 介绍 arm 既指 arm 公司又指 arm 内核是半导体知识产权供应商IP)95%的手机和平板使用 arm 架构arm 型号分类如下Arm (classic)Cortex-ACortex-RCortex-MArm1 ~ Arm11高性能用于手机苹果 高通 联发科实时性硬盘控制器微控制器领域3. stm32 产品介绍3.1 命名规则命名规则如下图所示主要学习 stm32f103zet6 和 stm32f103c8t6参数STM32F103ZET6STM32F103C8T6备注系列主流系列 STM32F1主流系列 STM32F1-内核Cortex-M3Cortex-M3-主频72 MHz72 MHz-RAM64 KB (SRAM)20 KB (SRAM)ZET6 容量更大ROM512 KB (Flash)64 KB (Flash)ZET6 容量更大供电2.0 ~ 3.6 V (标准 3.3 V)2.0 ~ 3.6 V (标准 3.3 V)USB 和 c51是 5V 供电封装LQFP144LQFP48ZET6 引脚更多主要差异ZET6大容量512KB Flash / 64KB RAM144引脚功能更丰富C8T6中等容量64KB Flash / 20KB RAM48引脚性价比更高选型参考3.2 片上外设peripheral)英文缩写名称英文缩写名称NVIC嵌套向量中断控制器CAN通信SysTick系统滴答定时器用于 FreeRTOS UCOS系统定时delay 函数USB通信RCC复位和时钟控制RTC实时时钟GPIO通用 IOCRC校验AFIO复用 IOPWR电源控制EXTI外部中断BKP备份寄存器TIM定时器IWDG独立看门狗ADC模数转换12位WWDG窗口看门狗DMA直接内存访问DAC数模转换USART同步/异步串口通信UART 多SDIOSD 卡接口I2C通信FSMC可变静态存储控制扩展内存SPI通信USB OTGUSB 主机 note(1) 前两个为内核外设(2 RTC 和 BKP 可由电池供电3V)(3 非每个芯片都有所有外设具体可查看数据手册见2.1节3.3 系统架构系统结构图如下所示 note(1) icode 总线指令dcode 总线数据接flash(2) system 总线接 sramfsmcAHB(3) AHB先进高性能总线接复位、时钟、sdio(4) APB2 和 APB1先进外设总线加桥接完成数据的转换和缓存APB1 是 36MHz(5) DMA 首先外设请求其次接总线矩阵访问3.4 引脚定义3.4.1 stm32f103zet6stm32f103zet6 引脚定义如下所示按照电源引脚、IO功能口、最小系统引脚整理 1 ~ 144 引脚 note(1) 共 112 个 GPIO 口 A ~ G参考数据手册 table 5(2) s 是电源相关I 表示输入o为输出FT 容忍 5V 电压(3) 主功能是上电后的默认功能与引脚名称相同若有不同则以主功能为主(4) 复用除 IO 外的其他功能ADCTIM等(5) 重映射映射引脚到其他 IO避免和现有 IO 冲突(6) OSC32_IN/OSC32_OUT 可接 32.768K 的 RTC 晶振OSC_IN/OSC_OUT 是 8M 主晶振(7) 调试swdio 和 swclkswd方式)PA15PB3 和 PB4JTAG方式(8) stlink使用的是 SWD剩余可用为普通 IO3.4.2 stm32f103c8t6stm32f103c8t6 引脚定义如下所示3.5 启动配置可通过 boot 引脚配置三种不同的启动模式BOOT1 (PB2)BOOT0启动模式说明×0主闪存存储器主闪存 flash 存启动01系统存储器Bootloader系统存储器启动作为串口下载用11内置 SRAMSRAM 启动调试用 说明如下(1) 下载程序有两种方式串口下载系统存储器和 stlink 下载主闪存(2) 在 sysclck 的第4个上升沿boot 引脚状态被锁定即上电初始时刻才有效后续为普通 IO3.6 最小系统电路 最小系统电路由以下几部分组成3.6.1 stm32 及供电 包括 VDD/VSSVBAT3V纽扣电池供电0.1μ 的滤波电容用于保证供电电压稳定3.6.2 晶振 8M 晶振经过锁相环倍频为 72MHz20p 的为起振电容3.6.3 复位 复位电路的原理为✔️ 启动时电容充电引脚为低电平充电完成后为高电平 按键按下时为低电平松开为高电平3.6.4 下载 补充 JTAG 的下载方式原理图3.6.5 启动 启动配置 boot 引脚选择下载方式补充一键下载电路原理图用于串口下载 一键 ISP 原理说明如下使 boot0 为 1boot1 为 0① boot0 为 1Q3 基极为低电平RTS 需要为低② DTR需要为高电平Q2 导通同时 RESET 也被拉低注意flymcu 中设置的和此处分析相反主要是软件中表示的是 232 电平为负逻辑和 单片机 TTL 电平相反参考 ttl电平 232电平3.7 最小系统板除了以上最小系统电路还有如下电路。(1) 指示灯包括电源指示灯和 IO 口指示灯(2) 3.3V 稳压常见的 3.3V 稳压芯片有xc6204xc6206ams1117用于将 5V 电压转为 3.3V(3) 排针引出引脚方便接线(4) USB 接口可进行 USB 通信同时提供 5V 的供电由稳压芯片进行稳压4. 软件安装4.1 安装 keil5 mdk安装方法ULINKkeil 公司调试器 驱动在软件安装时安装以上包含完整安装流程可参考4.2 器件支持包安装方法keil5 后需要安装相当于个型号的固件可通过离线和在线安装4.3 软件注册破解方法常见注册机破解方法参考以上链接4.4 stlink 驱动Step 1插入 STLINKStep 2右键 - 属性 - 设备管理器 - 其他设备Step 3在 keil5 安装目录下找到驱动Step 4JLINK 驱动在此目录下具体安装方法待定4.5 usb 转串口驱动ch340 驱动安装需要安装串口驱动否则无法进行通信5. 总结做笔记有点麻烦慢慢坚持~