STM32F1单片机零基础学习(1)
一.STM32简介
ST:ST公司;M:微控制器Microcontroller
1.STM32 32位微控制器
high performance高性能 | STM32F2/ F4/ F7/ H7 |
mainstream主流 | STM32G0 F0 / F1/ G4 L5 |
ultra-low-powe超低功耗 | STM32L0/ L1/ L4+ L4/ U5 L5 |
wireless无线 | STM32WL/ WB |
ARM公司设计ARM内核,半导体厂商(如ST)完善内核周边电路并生产芯片
2.R(realtime) , M(microcontroller):嵌入式开发 A(application):手机领域芯片,性能最高,发展最快
3.课程讲解的单片机型号
系列 | 主流系列STM32F1 |
内核 | ARM CORTEX-M3 |
主频 | 72MHZ |
RAM | 20K(SPAM) |
ROM | 64K(FLASH) |
供电 | 2.0-3.6V(标准3.3V)如果是5V,需要稳压芯片 |
封装 |
LQFP48 |
4.STM32F1片上资源外设
NVIC.SysTick是位于Cortex-M3内核里的外设
英文缩写 | 名称 | 作用 | 英文缩写 | 名称 | 作用 |
NVIC | 嵌套向量中断控制器 | 内核中管理中断 | CAN | CAN通信 | 汽车领域 |
SysTick | 系统滴答计时器 | 内核内定时器,为操作系统提供定时服务 | USB | USB通信 | |
RCC | 复位和时钟控制 | 对系统的时钟进行配置,使能各模块的时钟(STM32其他设备没上电情况下默认没有时钟,无时钟情况下,操作外设是无效的,目的是降低功耗) | RTC | 实时时钟 | 在STM内部完成年月日,时分秒的计时功能,可以接外部备用电池 |
GPIO | 通用IO(输入输出接口)口 | 点灯,读取按键等 | CRC | CRC校验 | 数据校验方式,用于判断数据的正确性 |
AFIO | 复用IO口 | 完成复用功能端口的重定义,还有中断端口的配置 | PWR | PWR电源控制 | 让芯片进入睡眠模式等状态 |
EXTI | 外部中断 | 当引脚有电平变化时,就可以触发中断,让CPU来处理任务 | BKP | 备份寄存器 | 存储器,当系统掉电时,可由备用电池保持数据 |
TIM | 定时器 | 分为高级,通用,基本定时器三种类型,通用定时器完成定时中断的任务,完成测频率,生成PWM(脉冲宽度调试)波形,配置成专用的编码器接口等功能 | IWDG | 独立看门狗 | 当单片机因为电磁干扰或者程序设计不合理出现死循环时,看门狗可以及时复位芯片,保证系统的稳定 |
ADC | 模数转换器 | 读取IO的模拟电压值,,STM32内置12位AD转换器,无需外接AD | WWDG | 窗口看门狗 | |
DMA | 直接内存访问 | 帮助CPU完成搬运大量数据 | DAC | 数模转换器 | 在IO口直接输入模拟电压 |
USART | 同步/异步串口通信 | SDIO | SD卡接口 | 读取SD卡 | |
I2C | I2C通信 | FSMC | 可变静态存储控制器 | 扩展内存或者配置成其他总线协议,用于某些硬件的操作 | |
SPI | SPI通信 | USB OTG | USB主机接口 | 用OTG功能,可以让STM32作为主机去读取其他USB设备 |
STM32F1单片机零基础学习(1)相关推荐
- 零基础学习单片机切记这四点要求,少走弯路
零基础学习单片机切记这四点要求,少走弯路 其中一种,其它的都能够触类旁通,快捷上手了.假如你这些条件都没有,那就跟着我学吧,我建议你进修51单片机. 为什么要进修51单片机: 虽然此时单片机品种和型号 ...
- 零基础学习51单片机
零基础学习51单片机 前言 51单片机是一款非常经典的8位单片机,广泛应用于各种嵌入式系统和电子产品中.本文将从零开始,以简明易懂的方式介绍51单片机的基本原理.基本语法和应用. 什么是单片机 单片机 ...
- 零基础学习C语言如何入门(内附工具书推荐+视频教程)
C语言同C++.Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多.C语言主要用于底层开发,Windows.Linux.Unix 等操作系统的内核90%以上都使用C语言开发 ...
- 零基础学习C语言,怎么入门?
C语言同C++.Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多. C语言主要用于底层开发,Windows.Linux.Unix 等操作系统的内核90%以上都使用C语言开 ...
- ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course
ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course! 教程大小解压后:4.96G 语言:英语+中英文字幕(机译)时长 ...
- 0基础学好python难不难_零基础学习Python难不难?Python有什么优势?
原标题:零基础学习Python难不难?Python有什么优势? Python是一种计算机程序设计语言.首先,我们普及一下编程语言的基础知识.用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个 ...
- Java零基础学习难吗
java编程是入行互联网的小伙伴们大多数的选择,那么对于零基础的小伙伴来说Java零基础学习难吗?如果你是初学者,你可以很好的理解java编程语言.并不困难.如果你的学习能力比较高,那么你对Java的 ...
- 零基础学习java,这些书一定要看!
学习java技术除了看视频,看书也是非常重要的,尤其是零基础同学,本文包含学习Java各个阶段的书籍推荐,史上最全,学习Java,没有书籍怎么行,就好比出征没带兵器一个道理,这些书籍整理出来给大家作为 ...
- 零基础学习UI设计有哪些简单有效的方法
UI设计的普及让越来越多的人对UI有了重新的认识,很多企业对UI设计这个岗位都是非常重视的,如今很多零基础学员都想要转行做UI设计,那么针对零基础学习UI设计有哪些简单有效的方法呢?来看看下面的详细介 ...
最新文章
- 当postgres的主键序列不同步时,如何重置?
- C语言--冒泡法实现
- 指定开始_@高坪人,熏腊肉开始啦!指定地点仅限这9个地方,别走错啦
- python离群点检测_如何从熊猫DataFrame中检测峰点(离群值)
- SpringCloud Greenwich(五)之nacos、dubbo、Zuul和 gateway集成
- ajax调用后台java类_ajax调用java后台方法是什么
- 使用可视化工具redisclient连接redis
- php如何判断是否关注,php如何判断用户是否关注微信公众号
- 【目标检测】单阶段算法--YOLOv3详解
- 找到replication相关的作业和sql 语句
- 华为云数据库可视化软件DataStudio导入excel表格问题
- 【商城秒杀项目】-- 项目总结
- 4——Hive数仓项目完整流程(在线教育)
- 鸿蒙一体机使用方法,教学一体机的使用方法
- 熠龙时空PC端职教模块
- 2018CVTE后台研发工程师内推笔试编程题2
- shell 脚本中常见的 if [ $? -ne 0 ]; 意思
- 菜鸟柳--23种设计模式初学记录笔记(二)装饰者设计模式
- 毕业到现在,工作4年,月薪9500,问:跳槽后涨薪多少合适?
- 如何获取和制作免费的icon图标素材
热门文章
- 2020年第十七届中国研究生数学建模竞赛C题 面向康复工程的脑信号分析和判别建模
- jQuery取值和赋值的基本方法
- 微信支付『支付失败,如果已扣款,资金在0-3个工作日原路返回』踩坑案例及解决方案
- 中国移动的呼叫转移呼叫等待等设置方法USSDMMI
- 四象限运行模式_双向可控硅四象限触发方式介 - 双向可控硅四象限触发方式介绍_双向可控硅触发电路的设计...
- 安卓应用软件开发必学的基础内容
- gensim bm25模型保存与加载
- 开源巨献:Google最热门60款开源项目(转)
- C语言学习第五天(存储类和变量的作用域)默认熟悉数据结构
- navicat 无法连接mysql10060错误