首页 > 其他分享 >进阶阶段——STM32学习笔记(一)

进阶阶段——STM32学习笔记(一)

时间:2023-01-10 23:45:23浏览次数:47  
标签:进阶 RTC 引脚 笔记 STM32 IO 外设 时钟

进阶阶段——STM32学习笔记(1)

前言

由于套件放在学校,待等假期结束后才能做实验

0 STM32简介

注意:STM32的标准工作电压为3.3V,若用5V供电,需要用(电平转换电路)稳压芯片降压至3.3V才能给STM32使用。

关键是学习stm32的外设,通过程序配置外设来实现所需的功能

STM32可以加入操作系统,如freertos,ucos

0.1 外设/片上资源

要求:必须熟悉外设名称,功能,注意事项,代码设计时如何配置(步骤)

image-20230110141135828

NVIC:(内核中的外设)进行中断管理,如配置中断优先级

SysTick:(内核中的外设)如果使用了操作系统,由它来提供时钟来进行任务切换的功能

RCC:配置系统时钟和使能各个模块外设的时钟(使用外设前必须配置的第一步)

GPIO: 高低电平的输出和输入,点灯,pwm,读取按键

AFIO:完成复用功能端口的重定义和中断端口的配置

EXIT:当引脚有电平变化时,可以触发中断,让CPU来处理任务

TIM:分为高级定时器 通用定时器 基本定时器 ,完成定时中断,PWM,测频率

ADC:可以直接读取IO口的模拟电压值,常配合DMA使用

DMA:搬运数据的小秘书,无需CPU参与

USART:同步/异步串口通信,平时的UART为异步串口

IIC,SPI:通信协议,可以用硬件输出其时序波形

CAN:用于汽车领域的通信协议

RTC:实时时钟,可外接电池,掉电不丢数据,任何实时时钟的核心都是晶振,晶振频率为32768Hz。它为分频计数器提供精确的与低功耗的实基信号。它可以用于产生秒、分、时、日等信息。为了确保时钟长期的准确性,晶振必须正常工作,不能够收到干扰。

PWR:可以让芯片加入睡眠模式,来达到省电的目的

BKP:断电后备份数据,由备用电源供电

IWDG,WWDG:系统死机或无限循环时,及时复位芯片,保证系统的稳定

DAC:在IO口直接输出模拟电压

USB OTG:让stm32成为主机,去读取其他外设设备

备用电池是给RTC和备用寄存器使用的

芯片有什么样的外设资源,需要看数据手册,如果操作到不存在的外设,则不会工作

0.2 命名规则(查表用)

image-20230110144253389

0.3 系统结构

ICode 指令总线 DCode 数据总线 System系统总线

程序存放在主存储器Flash中

image-20230110144528855

image-20230110231902004

image-20230110232305643

0.4 引脚定义

类型 S——电源

IO口主功能:上电后默认功能

IO口复用功能:IO口上同时连接的外设功能引脚

配置IO口的时候可以选择是通用IO口还是复用功能

重定义:如果有两个功能同时复用在一个IO口上,而确实需要用到两个功能,则可以将其中一个复用功能映射到其他端口上,前提是重定义功能的表里面有对应的端口

RTC引脚可以用来输出RTC校准时钟,RTC闹钟脉冲或秒时钟,一般接32.768KHz的晶振

系统主晶振,一般是8MHz的,芯片内有锁相环电路,可以对8MHz倍频,最后输出如72Mhz的频率,来作为系统的主时钟。

VSSA,VDDA:内部模拟部分的电源,如ADC,RC振荡器,VSSA是负极,接GND;VDDA是正极,接3.3V

WKUP功能可以用来唤醒处于待机模式的STM32

0.5 启动配置

切记:程序都是要存放在Flash主存储器中的。

image-20230110233122668

设置为系统存储器模式时,说明系统存储器被选为启动区域,一般用来串口下载程序,因为系统存储器中存储的是一段bootloader程序,负责接收串口数据,转存进Flash主存储器中。

0.6 最小系统电路

组成部分:控制芯片 电源 晶振(时钟电路) 调试电路 复位电路

当遇到供电引脚,要在正负极之间加上滤波电容

image-20230110233333350

另外,如果要使用RTC功能,需要在OSC32两个引脚接32.768kHz的晶振,因为内部RTC电路经过2的15次方分频后,就能产生1秒的时钟信号。

标签:进阶,RTC,引脚,笔记,STM32,IO,外设,时钟
From: https://www.cnblogs.com/wu-jia-wei/p/17041693.html

相关文章

  • 笔记本s3睡眠
    windows+s–》输入regedit–》找到HKLM/System/CurrentControlSet/Control/Power–>将PlatformAoAcOverride设置为0如果没有PlatformAoAcOverride,windows+s搜索cmd.exe,以......
  • 论文笔记:Symbolic Execution for Software Testing: Three Decades Later
    论文笔记:SymbolicExecutionforSoftwareTesting:ThreeDecadesLater这是一篇综述性质的文章,介绍了符号执行相关技术。1.Introduction2.OverviewofClassicalSy......
  • CSAPP MallocLab 笔记
    CSAPPMallocLab笔记CS15-213labnotessbrk函数为了实现动态的内存分配,一个核心的函数就是sbrk。memoryalignment8字节对齐的地址特征,其地址数值的16进制表......
  • win7笔记本、台式机装centos7过程记录
    1、国内镜像网站下载centos的iso文件 链接点我;2、找个u盘,格式化为NTFS格式,这样才能传4G以上大小的文件3、iso直接复制到u盘是不行的,必须做启动盘。下载个ultra做,官网地......
  • RabbitMQ学习笔记04:Publish/Subscribe
    参考资料:RabbitMQtutorial-Publish/Subscribe—RabbitMQ   前言在RabbitMQ学习笔记03:WorkQueues中,每个进入队列中的消息只会被投递给一个消费者进程。而在......
  • JavaScript学习笔记—运算符
    运算符(操作符):可以用来对一个或多个操作数(值)进行运算1.算术运算符:+加法运算符-减法运算符*乘法运算符/触发运算符**幂运算%模运算算术运算时,除了字符串的加......
  • FILIP: FINE-GRAINED INTERACTIVE LANGUAGEIMAGE PRE-TRAINING论文阅读笔记
    摘要目前的图像文本预训练模型通常通过每个模态全局特征的相似性来建模跨模态的交互,然而这会导致缺乏足够的信息;或者通过在视觉/文本token上使用跨模态注意力/自注意力来......
  • STM32 - 中断
    1.中断定义(Event)中断(Interrupt):指当出现需要时,CPU暂时暂停当前程序的执行,转而执行处理新情况的程序的处理过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理......
  • Python 学习笔记
    最早是在大一的时候接触Python,最初是看的廖雪峰的Python教程,草草学习了几天,自那以后就再也没有学过Python语言了。虽然没怎么学,但是用起来也不算太难,遇到不会的就查。......
  • LaTeX学习笔记目录
    本目录旨在更加规范的将LaTeX笔记整合。LaTeX入门第一篇LaTeX文档LaTeX文本(空)LaTeX自动化工具(空)LaTeX数学公式(空)......