
STM32
文章平均质量分 87
舞者0068
坚持学习,哪怕只是一点点也是进步,不要以任何借口作为不学习的理由。
展开
-
GPIO概述
GPIO寄存器概述 GPIO作为STM32F103VET6中最基础的功能模块,分布在GPIOA~GPIOE的五个端口组中,每个小组有16个引脚,每个GPIO引脚都可以用作外部中断源的输入,每个GPIO引脚可配置为8种模式,不同引脚有对应的复用功能、复用功能重映射等功能。控制GPIO的功能寄存器如下图所示:图1-1 CPIO寄存器描述将上图所示7种寄存器可以原创 2017-12-14 09:14:50 · 1869 阅读 · 0 评论 -
AFIO时钟
STM32芯片为了实现低功耗,设计了一个功能完善但是非常复杂的时钟系统。相比于普通的MCU配置好GPIO的寄存器既可以使用,STM32的GPIO在使用之前开需要开启外设时钟。而GPIO对应的各个外设均配置了时钟开关,为减少STM32整体功耗,仅在需要使用该设备时开启相应外设的时钟。 在开启外设时钟前,首先需要参考系统结构图,知道外设挂在在哪个中线上,以GPIOA Pin9为例说原创 2017-12-15 15:24:23 · 3294 阅读 · 0 评论 -
USART概述
一、USART简介 一般使用MAX232芯片在STM32和DB9接头之间进行电平转换,将STM32的PA10(USART1-TX)连接到DB9(公头)的第三引脚。 串口的发送数据和接收数据都是在USART_DR中实现的,为一个双寄存器,包含了TDR和RDR,当向该寄存器写入数据是,串口就会自动发送数据;当收到数据时,也是存在该寄存器中可以直接读出。 串口的状态原创 2017-12-26 13:31:53 · 8966 阅读 · 0 评论 -
外部中断和事件的区别
下图为外部中断和事件的示意图,图中蓝色和红色的虚线分别为外部中断和事件的控制流程图。由该图可知,中断和事件并没有区别,只是在芯片内部呈现区别。中断到达步骤5后向CPU产生中断请求,需要软件的中断服务函数才能完成中断后产生的结果;而事件到达步骤5后向起它功能模块发送脉冲触发信号,进而由硬件自动完成这个时间产生的结果,当然相应的硬件功能模块需要先设置好,比如引起DMA操作、AD转换等。原创 2018-01-08 15:27:04 · 3985 阅读 · 0 评论 -
NVIC和EXTI
NVIC:Nest Vector Interrupt Controller,嵌套中断向量控制器,是用来管理中断嵌套的,核心任务在于其优先级的管理。NVIC给每个中断赋予先占优先级(抢占优先级)和次占优先级(响应优先级)。CM3 内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但STM32并没有使用CM3内核的全部东西,而是只用了它的一部分,STM原创 2018-01-16 14:39:25 · 3909 阅读 · 4 评论 -
KEILMDK软件编译过程
首先将C语言源文件经过C编译器生成相应的后缀为.o的目标文件,将汇编源文件(启动文件.s)也编译成相应的.o的目标文件, 最后通过连接器将各目标文件及存储器布局设置(option for target菜单设置)连接起来,生成后缀为.axf的可执行映像文件,这个映像文件可转化为二进制的程序映像文件.bin,也可以转换为十六进制文件.hex。平时我们下载到芯片Flash中的代码就是.hex文件,上...原创 2018-01-19 16:49:35 · 6494 阅读 · 0 评论 -
CRC算法原理
一、 通讯校检在一个p位二进制数据序列之后附加一个r位二进制校检码,构成一个总长为p+r的二进制序列。附加在数据序列之后的这个校检码与p位二进制序列之间存在一个特定的关系,如果因干扰等原因使得数据序列中的一些位发生错误,这种特性的关系就会破坏。因此,可以通过检查该关系,实现对接收到的数据正确性的检验。根据校检码与p位二进制序列之间的关系,可以将通讯校检方式分为:l 奇偶校检:每个字节的校检...原创 2018-06-15 17:11:22 · 72216 阅读 · 8 评论 -
DS18B20
DS18B201. DS18B20硬件设计DS18B20供电的范围为3.0V~5.0V,也可以通过数据线供电;其分辨率可以被使用者选择为9~12位,分辨率越高,转换需要时间越长。根据供电方式不同,DS18B20有两种典型的硬件电路接法,分别为寄生电源模式和外部电源供电模式。寄生电源的控制回路中,当总线为高电平时,电源由单总线通过VDD引脚,部分能量存储在寄生电源储能电容C内,当数据总线处于...原创 2018-06-26 00:07:21 · 5003 阅读 · 0 评论