一.STM32简介

ST:ST公司;M:微控制器Microcontroller

1.STM32 32位微控制器

STM32分类
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):手机领域芯片,性能最高,发展最快

​​ARM内核型号   

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)相关推荐

  1. 零基础学习单片机切记这四点要求,少走弯路

    零基础学习单片机切记这四点要求,少走弯路 其中一种,其它的都能够触类旁通,快捷上手了.假如你这些条件都没有,那就跟着我学吧,我建议你进修51单片机. 为什么要进修51单片机: 虽然此时单片机品种和型号 ...

  2. 零基础学习51单片机

    零基础学习51单片机 前言 51单片机是一款非常经典的8位单片机,广泛应用于各种嵌入式系统和电子产品中.本文将从零开始,以简明易懂的方式介绍51单片机的基本原理.基本语法和应用. 什么是单片机 单片机 ...

  3. 零基础学习C语言如何入门(内附工具书推荐+视频教程)

    C语言同C++.Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多.C语言主要用于底层开发,Windows.Linux.Unix 等操作系统的内核90%以上都使用C语言开发 ...

  4. 零基础学习C语言,怎么入门?

    C语言同C++.Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多. C语言主要用于底层开发,Windows.Linux.Unix 等操作系统的内核90%以上都使用C语言开 ...

  5. ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course

    ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course! 教程大小解压后:4.96G 语言:英语+中英文字幕(机译)时长 ...

  6. 0基础学好python难不难_零基础学习Python难不难?Python有什么优势?

    原标题:零基础学习Python难不难?Python有什么优势? Python是一种计算机程序设计语言.首先,我们普及一下编程语言的基础知识.用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个 ...

  7. Java零基础学习难吗

    java编程是入行互联网的小伙伴们大多数的选择,那么对于零基础的小伙伴来说Java零基础学习难吗?如果你是初学者,你可以很好的理解java编程语言.并不困难.如果你的学习能力比较高,那么你对Java的 ...

  8. 零基础学习java,这些书一定要看!

    学习java技术除了看视频,看书也是非常重要的,尤其是零基础同学,本文包含学习Java各个阶段的书籍推荐,史上最全,学习Java,没有书籍怎么行,就好比出征没带兵器一个道理,这些书籍整理出来给大家作为 ...

  9. 零基础学习UI设计有哪些简单有效的方法

    UI设计的普及让越来越多的人对UI有了重新的认识,很多企业对UI设计这个岗位都是非常重视的,如今很多零基础学员都想要转行做UI设计,那么针对零基础学习UI设计有哪些简单有效的方法呢?来看看下面的详细介 ...

最新文章

  1. 当postgres的主键序列不同步时,如何重置?
  2. C语言--冒泡法实现
  3. 指定开始_@高坪人,熏腊肉开始啦!指定地点仅限这9个地方,别走错啦
  4. python离群点检测_如何从熊猫DataFrame中检测峰点(离群值)
  5. SpringCloud Greenwich(五)之nacos、dubbo、Zuul和 gateway集成
  6. ajax调用后台java类_ajax调用java后台方法是什么
  7. 使用可视化工具redisclient连接redis
  8. php如何判断是否关注,php如何判断用户是否关注微信公众号
  9. 【目标检测】单阶段算法--YOLOv3详解
  10. 找到replication相关的作业和sql 语句
  11. 华为云数据库可视化软件DataStudio导入excel表格问题
  12. 【商城秒杀项目】-- 项目总结
  13. 4——Hive数仓项目完整流程(在线教育)
  14. 鸿蒙一体机使用方法,教学一体机的使用方法
  15. 熠龙时空PC端职教模块
  16. 2018CVTE后台研发工程师内推笔试编程题2
  17. shell 脚本中常见的 if [ $? -ne 0 ]; 意思
  18. 菜鸟柳--23种设计模式初学记录笔记(二)装饰者设计模式
  19. 毕业到现在,工作4年,月薪9500,问:跳槽后涨薪多少合适?
  20. 如何获取和制作免费的icon图标素材

热门文章

  1. 2020年第十七届中国研究生数学建模竞赛C题 面向康复工程的脑信号分析和判别建模
  2. jQuery取值和赋值的基本方法
  3. 微信支付『支付失败,如果已扣款,资金在0-3个工作日原路返回』踩坑案例及解决方案
  4. 中国移动的呼叫转移呼叫等待等设置方法USSDMMI
  5. 四象限运行模式_双向可控硅四象限触发方式介 - 双向可控硅四象限触发方式介绍_双向可控硅触发电路的设计...
  6. 安卓应用软件开发必学的基础内容
  7. gensim bm25模型保存与加载
  8. 开源巨献:Google最热门60款开源项目(转)
  9. C语言学习第五天(存储类和变量的作用域)默认熟悉数据结构
  10. navicat 无法连接mysql10060错误