1.时钟振荡器:产生时钟信号送给单片机内部各电路,并且控制这些电路,使它们有节拍的工作。

2.ROM是一种具有存储功能的电路,断电后信息不回丢失。RAM也是一种存储电路,断电后信息丢失。

3.串行通信口是单片机和外部设备进行串行通信的接口。串行传递数据是一位一位的进行传递,同时传输多位数据的方式成为并行通信。

4.电子电路图:是指按照统一的符号用导线将电源、开关(电键)、用电器、电流表、电压表等连接起来。它是一种反映电子产品和电子设备中各元器件的电气连接情况的图纸。

5.STM32的全部寄存器都可以实现位带操作。可以通过指针的形式访问位带别名区地址来操作位带区。

6.栈是用于局部变量、函数调用、函数形参等的开销,栈的大小不能超过内部SRAM的大小。堆主要用于动态内存的分配。

7.向量表在地址空间中的位置是可以设置的,通过NVIC中的一个重定位寄存器来指出向量表的地址。

8.时钟的一般配置:SYSCLK=PLLCLK(设置PLL倍频,PLL时钟来源为HSE)=HCLK(设置AHB分频因子)=PCLK2(设置APB2分频因子)=72MHz;PCLK1(设置APB1分频因子)=HCLK/2=36MHz。

9.配置中断的时候一般使用ISER(使能中断)、ICER(清除中断)和IP(设置中断优先级)这三个寄存器。

10.RS-232标准主要规定了信号的用途、通信接口以及信号的电平标准。

11.USART是一个串行通信设备,可以进行全双工数据交换。UART在USART的基础上裁剪了同步通信,不需要对外提供时钟输出,平时用的串口基本上都是UART。

12.Cortex-M3的向量中断统一由NVIC管理。EXTI是ST公司在其STM32产品上扩展的外部中断控制,它负责管理映射到GPIO引脚上的外中断和片内几个集成外设的中断以及软件中断,其输出最终被映射到NVIC的相应通道。配置EXTI中断的过程必然包含对NVIC的配置。

13.DMA有DMA1和DMA2两个控制器,DMA1有7个通道,DMA2有2个通道,不同DMA控制器的通道对应不同的外设请求。

14.编写设备驱动的规律:首先确定设备使用的通信协议,然后要了解目标设备的相关指令,最后根据这些指令的格式要求,使用通信协议向设备发送指令,达到控制设备的目标。

15.飞控系统:稳定飞行姿态,控制飞行棋进行自主或半自主飞行的控制系统,是飞行器的大脑。主要由陀螺仪、加速度计、地磁感应器、气压传感器、超声波传感器、光流传感器、GPS模块及控制电路组成。

16.高电平和低电平:在数字逻辑电路中,低电平表示0,高电平表示1。一般规定低电平为0~0.25V,高电平为3.5~5V。

17.CPU分类:CPU分成MCU(微控制器,或者称为单片机)和MPU(微处理器)两类,它们的本质区别在于MMU(内存管理单元),也就是对于虚拟内存空间的支持。树莓派和S3C2440就属于MPU类的,而Arduino和STM32就属于MCU类的。它们在运算能力上有巨大的差距。

18.一个CPU里面有上亿个晶体管组成。CPU工作流程大概分为:取指、解码、执行、写回。

19.锁存器最主要的作用就是缓存。触发器是指在时钟信号触发时才能动作的存储单元电路。

20.寄存器是指能够用来存储一组二进制代码的同步时序逻辑电路。寄存器就是一个存储单元,一般是由触发器构成。整个流程大概是:晶体管->基本门电路->R-S锁存器->D触发器->寄存器。

21.EXTI(外部中断/事件控制器)有两部分功能:一个是产生中断,一个是产生事件。产生中断目的是把输入信号输入到NVIC,进一步运行中断服务函数,实现功能,这样是软件级的;产生事件目的是传输一个脉冲信号给其他外设使用,并且是电路级别的信号传输,属于硬件级的。

22.微控制器适用于那些以极少的元件实现对输入/输出设备进行控制的场合,而微处理器适用于计算机系统中进行信息处理。

23.STM32Cube中生成项目是,应用程序结构分为基本和高级,高级包含了中间件RTOS、文件系统、USB设备等。

24.系统时钟有3个可选来源:直接使用芯片内部8MHz时钟源;外接72MHz的晶振作为时钟源;出于成本和稳定性考虑一般是外接8MHz晶振时钟源,2分频接入到PLL再倍频得到PLLCLK,然后才得到72MHz系统时钟。

STM32笔记四的更多相关文章

  1. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  2. 《MFC游戏开发》笔记四 键盘响应和鼠标响应:让人物动起来

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9327377 作者:七十一雾央 新浪微博:http:// ...

  3. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  4. java之jvm学习笔记四(安全管理器)

    java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...

  5. Java学习笔记四---打包成双击可运行的jar文件

    写笔记四前的脑回路是这样的: 前面的学习笔记二,提到3个环境变量,其中java_home好理解,就是jdk安装路径:classpath指向类文件的搜索路径:path指向可执行程序的搜索路径.这里的类文 ...

  6. Java加密与解密笔记(四) 高级应用

    术语列表: CA:证书颁发认证机构(Certificate Authority) PEM:隐私增强邮件(Privacy Enhanced Mail),是OpenSSL使用的一种密钥文件. PKI:公钥 ...

  7. Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  8. Typescript 学习笔记四:回忆ES5 中的类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  9. Django开发笔记四

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.邮箱激活 users app下,models.py: ...

随机推荐

  1. 标准Gitlab命令行操作指导

    gitlab是一个分布式的版本仓库,总比只是一个本地手动好些,上传你的本地代码后后还能web GUI操作,何乐不为? 贴上刚刚搭建的gitlab,看看git 如何操作标准命令行操作指导 1.命令行操作 ...

  2. CSS的起步

    初学CSS CSS语法规范 选择器{样式} 给谁改样式{改什么样式} 写在style标签里 健值对形式,分号结尾 color:red; <style> p { color:red; fon ...

  3. 入坑java工程师那些事

    最近在知乎上看到好多关于转行做java的朋友,有的在担心学历,有的在想着如何学习java,有的在纠结如何面试.作为一个工作了近10年的java程序员来聊聊我的一些想法,主要从学历.个人能力.工作环境等 ...

  4. ThreadLocal与ThreadLocalMap源码分析

    ThreadLocal类 该类主要用于不同线程存储自己的线程本地变量.本文先通过一个示例简单介绍该类的使用方法,然后从ThreadLocal类的初始化.存储结构.增删数据和hash值计算等几个方面,分 ...

  5. [leetcode] 69. x 的平方根(纯int溢出判断实现)

    69. x 的平方根 非常简单的一个题,用二分法逼近求出ans即可,额外注意下溢出问题. 不过我要给自己增加难度,用long或者BigNum实现没意思,只能使用int类型 换句话当出现溢出时我们自己得 ...

  6. GPU编程和流式多处理器(五)

    GPU编程和流式多处理器(五) 4. 条件代码 硬件实现了"条件代码"或CC寄存器,其中包含用于整数比较的常用4位状态向量(符号,进位,零,溢出).可以使用比较指令(例如ISET) ...

  7. Excel创建手机号1000个

    一.输入手机号15900000001,并且选择 二.选中这一列 三.按住Ctrl,鼠标选中创建手机号,取消选中的状态 四.开始-填充 五.选择序列 六.选择列-自动填充-点击确定 七.查看结果,生成成 ...

  8. Redis系列(三):Bitmaps和HyperLogLog

    本篇介绍Bitmaps和HyperLogLog. 一.Bitmaps 计算机中最小的单位是bit(位),很多计算机语言也提供了位操作符,比如Java中就有&.|.>>.>&g ...

  9. InfluxDB总结

    一.简介 InfluxDB(时序数据库)influxdb是一个开源分布式时序.时间和指标数据库,使用 Go 语言编写,无需外部依赖.其设计目标是实现分布式和水平伸缩扩展,是 InfluxData 的核 ...

  10. Spring MVC 到 Spring BOOT 的简化之路

    背景 Spring vs Spring MVC vs Spring Boot Spring FrameWork Spring 还能解决什么问题 Spring MVC 为什么需要Spring Boot ...