1.单片机有两种存储器,程序存储器用来存储编写的程序,数据存储器用来存储单片机工作时的临时数据。内部存储器分为工作寄存器区、位寻址区、数据缓存区和特殊功能寄存器区。

2.位:数据存储的最小单位。在计算机中的二进制数系统中,位,简记为b,也称为比特,每个0或1就是一个位(bit)。计算机中的CPU位数指的是CPU一次能处理的最大位数。

3.晶振:一般叫做晶体谐振器,是一种机电器件,是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。如果给他通电,他就会产生机械振荡,反之,如果给他机械力,他又会产生电,这种特性叫机电效应。晶振在电路中就相当于人的一个心脏,晶振为电路提供了一个时钟信号。有源晶振在稳定性上要胜过无源晶振,但也有自身小小的缺陷,有源晶振的信号电平是固定,所以需要选择好合适输出电平,灵活性较差。

4.操作系统:实时操作系统主要应用领域:主要应用于过程控制、数据采集、通信、多媒体信息处理等对时间敏感的场合。例如:机器人的运动控制、无人驾驶等。分时操作系统主要应用领域;现在流行的PC,服务器都是采用这种运行模式,即把CPU的运行分成若干时间片分别处理不同的运算请求。

5.STM32使能时钟:时钟是微控制器的脉搏,微控制器需要一个基本的时钟节拍(时钟基准),不然会导致时序错乱,系统就崩溃了。任何外设都需要时钟,因为寄存器是由D触发器组成的,往触发器里面写东西,前提条件是有时钟输入。

为了减少功耗,STM32使用了所谓的时钟门控的技术,时钟是有分工的,并且每类时钟的频率不一样,因为没必要所有的时钟都是最高频率,只要够用就行。外设的时钟默认为disable,用到什么外设,打开对应外设的时钟,这样耗能就会减少。

6.STM32中断:当 CPU 执行程序时,由于发生了某种随机的事件(外部或内部),引起 CPU 暂时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程就称为中断。

7.STM32定时器:STM32F1有8个定时器,分为基本、通用和高级定时器。基本定时器(TIM6/7)只能向上计数;通用定时器(TIM2/3/4/5)可以向上、向下计数,可以输出比较、输入捕获,每个定时器有4个外部IO;高级定时器(TIM1/8)可以向上、向下计数,可以输出比较、输入捕获,还可以有三相电机互补输出信号,每个定时器有8个外部IO。

8.系统定时器:属于CM3内核中的一个外设,内嵌再NVIC中。是24位的向下递减的计数器,计数器每计数一次的时间为1/SYSCLK,一般系统时钟为72MHz。系统定时器一般用于操作系统,用于产生时基,维持操作系统的心跳。

9.RCC时钟配置寄存器作用:设置系统时钟、分频因子,控制总线和外设时钟的开启。(设置系统时钟、AHB分频因子、APB2/APB1分频因子、各个外设的分频因子、控制AHB/APB2/APB1三条总线时钟的开启和各个外设时钟的开启。)

10.看门狗:它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗置零,重新开始计数。如果看门狗增加到设定值就认为程序没有正常工作,强制整个系统复位。

主要功能是在发生软件故障时,通过使器件复位(如果软件未将器件清零)将单片机复位,防止程序发生死循环。也可以用于将器件从休眠或空闲模式唤醒。

STM32有独立看门狗和窗口看门狗,独立看门狗是一个12位的递减计数器,当计数器的值从某个值减到0之前还没有喂狗,系统就产生一个复位信号。窗口看门狗计数器的值减到0x40产生复位,同时计数器的值必须在用户设置的上窗口和下窗口之间,不然也会产生复位。

11.电机:直流电机跟电压信号有关,步进电机跟脉冲信号有关,伺服电机跟电压和脉冲有关。STM32通过产生PWM信号控制直流电机驱动器,需要用到定时器。伺服电机主要应用在各种运动控制系统中,尤其是随动系统,例如机械臂。直流电机和步进电机常用语机器人底盘控制,步进电机相对耗电、重量大、发热大。

12.单片机的本质就是向寄存器读写数据,寄存器根据得到的数据去控制各种设备。寄存器的本质就是存储器,是一种特殊的内存,读写数据的目的是去控制外设。寄存器组是很多地址连续的寄存器组合到一起。

13.外设:CPU以外的都称为外设,包括内部外设(MCU内部)和外部外设(MCU外部),外部外设又分为板载外设和外扩外设。

STM32笔记三的更多相关文章

  1. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  2. 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

  3. Mastering Web Application Development with AngularJS 读书笔记(三)

    第一章笔记 (三) 一.Factories factory 方法是创建对象的另一种方式,与service相比更灵活,因为可以注册可任何任意对象创造功能.例如: myMod.factory('notif ...

  4. Python 学习笔记三

    笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...

  5. 《MFC游戏开发》笔记三 游戏贴图与透明特效的实现

    本系列文章由七十一雾央编写,转载请注明出处. 313239 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5 ...

  6. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  7. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  8. 构建高性能WEB站点笔记三

    构建高性能WEB站点笔记三 第10章 分布式缓存 10.1数据库的前端缓存区 文件系统内核缓冲区,位于物理内存的内核地址空间,除了使用O_DIRECT标记打开的文件以外,所有对磁盘文件的读写操作都要经 ...

  9. Git 笔记三 Git的初步使用

    Git 笔记三 Git的初步使用 在上一篇中,学习了如何配置Git环境,这一篇,开始学习Git的初步使用.Git的初步使用还是很简单的.总体上知道git init, git clone, git ad ...

随机推荐

  1. unity lua require dofile loadfile 区别

    oadfile,加载文件,编译文件,并且返回一个函数,不运行 dofile其实就是包装了Loadfile,根据loadfile的返回函数运行一遍 require加载文件的时候,不用带目录,有lua自己 ...

  2. SpringMVC=>web.xml基本配置

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmln ...

  3. 关于一类docker容器闪退问题定位

    背景:正在学习docker期间,接到一个任务,通过docker部署一个应用A.该应用A类似于之前部署的应用B,结果很自然地犯了形而上学的错误. 思路:基于dockerfile+docker-compo ...

  4. 一文读懂一条 SQL 查询语句是如何执行的

    2001 年 MySQL 发布 3.23 版本,自此便开始获得广泛应用,随着不断地升级迭代,至今 MySQL 已经走过了 20 个年头. 为了充分发挥 MySQL 的性能并顺利地使用,就必须正确理解其 ...

  5. 工作流中的数据持久化详解!Activiti框架中JPA的使用分析

    Activiti中JPA简介 可以使用JPA实体作为流程变量, 并进行操作: 基于流程变量更新已有的JPA实体,可以在用户任务的表单中填写或者由服务任务生成 重用已有的领域模型,不需要编写显示的服务获 ...

  6. 华为MDC软件架构

    华为MDC软件架构 平台软件零层逻辑架构如下图,由基础层.功能层.应用层和服务层组成. 零层逻辑架构 从平台软件一层逻辑架构可以看出,MDC用了华为自研的越影操作系统.兼容Autosar标准的软件中间 ...

  7. 自动调度GPU的卷积层

    自动调度GPU的卷积层 这是有关如何对GPU使用自动调度程序的文档. 与依靠手动模板定义搜索空间的基于模板的autotvm不同,自动调度程序不需要任何模板.用户只需要编写计算声明,而无需任何调度命令或 ...

  8. Python小白的数学建模课-06 固定费用问题

    Python 实例介绍固定费用问题的建模与求解. 学习 PuLP工具包中处理复杂问题的快捷使用方式. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛达人. 前文讲到几种典型 ...

  9. java后端知识点梳理——web安全

    跨域 当浏览器执行脚本时会检查是否同源,只有同源的脚本才会执行,如果不同源即为跨域. 这里的同源指访问的协议.域名.端口都相同. 同源策略是由 Netscape 提出的著名安全策略,是浏览器最核心.基 ...

  10. Qt信号槽机制理解

    1. 信号和槽概述 > 信号槽是 Qt 框架引以为豪的机制之一.所谓信号槽,实际就是观察者模式(发布-订阅模式).当某个`事件`发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(s ...