- 博客(22)
- 资源 (18)
- 收藏
- 关注
原创 【stm32f407】SD协议(三)-源码
一.硬件连接上图为stm32的CPU引脚图上图为SD卡的接线二.源码Sdio_sdcard.h//SDIO相关标志位,拷贝自:stm32f4xx_sdio.h#defineSDIO_FLAG_CCRCFAIL ((uint32_t)0x00000001)#defineSDIO_FLAG_DCRCFAIL
2017-06-28 22:15:28 5276
原创 【stm32f407】SD协议(二)-SD卡
一.SD卡简介1) 简介:SD卡是基于flash的存储卡。SD卡和MMC卡的区别在于初始化过程不同。SD卡的通信协议包括SD和SPI两类。SD卡使用卡内智能控制模块进行FLASH操作控制,包括协议、安全算法、数据存取、ECC算法、缺陷处理和分析、电源管理、时钟管理。2) 类型:MMC卡: MultiMedia card,有 7个触点(
2017-06-28 22:03:12 7383
原创 【stm32f407】SD协议(一)-SDIO
SDIO简介1. SDIO主要功能及框图STM32F4的SDIO控制器支持多媒体卡(MMC卡)、SD存储卡、SD I/O卡和CE-ATA设备等。SDIO的主要功能如下:1) 与多媒体卡系统规格书版本4.2全兼容。支持三种不同的数据总线模式:1位(默认)、4位和8位。2) 与较早的多媒体卡系统规格版本全兼容(向前兼容)。3) 与SD存储
2017-06-28 21:41:42 10441
原创 【stm32f407】基于SRAM的内存管理
一.分配原理内存管理,是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。内存管理的实现方法有很多种,他们其实最终都是要实现2个函数:malloc和free;malloc函数用于内存申请,free函数用于内存释放。我们介绍一种比较简单的办法来实现:分块式内存管理。下面我们介绍一下该方法的实现原理,如图所示:
2017-06-27 16:10:49 6480
原创 【stm32f407】flash编程
一.Flash介绍不同型号的STM32F40xx/41xx,其FLASH容量也有所不同,最小的只有128K字节,最大的则达到了1024K字节。STM32F4的FLASH容量为1024K字节,如参考手册图:STM32F4的闪存模块由:主存储器、系统存储器、OPT区域和选项字节等4部分组成。主存储器,该部分用来存放代码和数据常数(如const类型的数据)。分为12个扇区,前4个扇区为1
2017-06-26 17:39:12 13270 1
转载 红外原理
应该说现在每一块开发板都带有红外模块,并且大都配置了相应的程序。但其实自己动手写解码程序,更能锻炼自己所学,且不谈程序写的如何,这个过程中肯定是受益良多的。现在我就把我花一下午写出的解码程序与大家分享,期待高手的光临指正。首先,必须要了解一些基本原理。其实按下遥控器的某一个键,遥控器会发出一连串经过调制后的信号,这个信号经过红外一体化模块接收后,输出解调后的数字脉冲,每个按键对应不同的脉冲
2017-06-26 12:17:10 4300
原创 【stm32f407】CAN总线
一.CAN简介CAN是ControllerArea Network的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进
2017-06-23 16:58:10 15985 3
转载 CAN总线
嵌入式的工程师一般都知道CAN总线广泛应用到汽车中,其实船舰电子设备通信也广泛使用CAN,随着国家对海防的越来越重视,对CAN的需求也会越来越大。这个暑假,通过参加苏州社会实践,去某船舶电气公司实习几周,也借此机会,学习了一下CAN总线。概述CAN(Controller Area Network)即控制器局域网,是一种能够实现分布式实时控制的串行通信网络。想到CAN就要想到德国的Bos
2017-06-23 15:09:40 1986
原创 【stm32f407】SPI实验 驱动W25Q128
一.SPI介绍SPI 是英语SerialPeripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚...
2017-06-21 16:29:32 21828 3
原创 【stm32f407】I2C实验
一.I2C介绍IIC(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。如图:I2C协议一共有6种协议信号① 空闲状态②
2017-06-21 10:48:58 6146
原创 【stm32f407】DAC实验
一.描述STM32F4的DAC模块(数字/模拟转换模块)是12位数字输入,电压输出型的DAC。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DAC模块有2个输出通道,每个通道都有单独的转换器。在双DAC模式下,2个通道可以独立地进行转换,也可以同时进行转换并同步地更新2个通道的输出。DAC可以通过引脚输入参考电压Vref
2017-06-15 12:04:54 12683
原创 【stm32f407】ADC实验
1. ADC简介STM32F4xx系列一般都有3个ADC,这些ADC可以独立使用,也可以使用双重/三重模式(提高采样率)。STM32F4的ADC是12位逐次逼近型的模拟数字转换器。它有19个通道,可测量16个外部源、2个内部源和Vbat通道的信号。这些通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。 模拟看门狗特性允许应
2017-06-14 17:33:21 15753 3
原创 【stm32f407】窗口看门狗 wwdog
一.窗口看门狗窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位(WWDG->CR的第六位)变成0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个MCU复位。在递减计数器达到窗口配置寄存器(WWDG->CFR)数值之前,如果7位的递减计数器数值(在控制寄存器中)被刷新, 那么也将产生一个MCU
2017-06-08 06:15:50 4228
原创 【stm32f407】独立看门狗 iwdog
一.独立看门狗STM32F4的独立看门狗由内部专门的32Khz低速时钟(LSI)驱动,即使主时钟发生故障,它也仍然有效。这里需要注意独立看门狗的时钟是一个内部RC时钟,所以并不是准确的32Khz,而是在15~47Khz之间的一个可变化的时钟,只是我们在估算的时候,以32Khz的频率来计算,看门狗对时间的要求不是很精确,所以,时钟有些偏差,都是可以接受的。独立看门狗有几个寄存器与我们这节相关,我
2017-06-08 05:43:52 4898
原创 【stm32f407】外部中断实现按键中断方式
一.外部中断STM32F4的每个IO都可以作为外部中断的中断输入口,这点也是STM32F4的强大之处。STM32F407的中断控制器支持22个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32F407的22个外部中断为:EXTI线0~15:对应外部IO口的输入中断。EXTI线16:连接到PVD输出。EXTI线17:连接到RTC闹钟事件。
2017-06-07 11:20:44 16708 1
原创 【stm32f407】stm32串口实验
一.串口理论串口作为MCU的重要外部接口,同时也是软件开发重要的调试手段,其重要性不言而喻。现在基本上所有的MCU都会带有串口,STM32自然也不例外。STM32F407VGT6内嵌四个通用同步/异步接收器(USART1,USART2,USART3和USART6)和两个通用异步收发器(UART4和UART5),如图:另外,usart和uart的差异在于usart是同步串口(亦可
2017-06-06 15:47:17 8030 1
原创 【stm32f407】NVIC
NVIC称之为“嵌套向量中断控制器:Nested Vectored Interrupt Controller (NVIC)“。CM4内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但STM32F4并没有使用CM4内核的全部东西,而是只用了它的一部分STM32F40xx/STM32F41xx总共有92个中断,STM32F42xx/STM
2017-06-05 16:33:26 3706
原创 【stm32f407】IO引脚复用和映射
一. 什么叫管脚复用STM32F4有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。STM32F4系列微控制器IO引脚通过一个复用器连接到内置外设或模块。该复用器一次只允许一个外设的复用功能(AF)连接到对应的IO口。这样可以确保共用同一个IO引脚的外设之间不会发生冲突。
2017-06-05 15:04:47 19848 4
原创 【stm32f407】SysTick实现延时
一. SysTick介绍:CM4内核的处理和CM3一样,内部都包含了一个SysTick定时器,SysTick是一个24位的倒计数定时器,当计到0时 ,将 从RELOAD寄存器中自动重装载定时初值。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息。我们就是利用STM32的内部SysTick来实现延时的,这样既不占用中断,也不占用系统定时器
2017-06-05 12:21:55 11230 1
原创 【stm32f407】时钟树以及SystemInit剖析
一. 时钟树众所周知,时钟系统是CPU的脉搏,就像人的心跳一样。所以时钟系统的重要性就不言而喻了。 STM32F4的时钟系统比较复杂,不像简单的51单片机一个系统时钟就可以解决一切。于是有人要问,采用一个系统时钟不是很简单吗?为什么STM32要有多个时钟源呢?因为首先STM32本身非常复杂,外设非常的多,但是并不是所有外设都需要系统时钟这么高的频率,比如看门狗以及RTC只需要几十k的时钟即
2017-06-02 16:35:06 8949 2
原创 【stm32f407】轮序方式的按键应用
接上篇:http://blog.csdn.net/xiaoxiaopengbo/article/details/728291541. 硬件原理图:可以看到user button是PA02. 程序步骤1) 使能按键对应IO口时钟。PA0在AHB1总线上调用函数:RCC_AHB1PeriphClockCmd ();2) 初始化IO模式:上拉/
2017-06-01 15:18:10 1489
原创 【stm32f407】GPIO原理以及跑马灯的应用
1. GPIO介绍1)介绍:GPIO:(GeneralPurpose Input Output (通用输入/输出)简称为GPIO) 基本结构:stm32f407VGT6这款单片机上共有PA‐PE共5×16共80个复用IO口,每个通用I / O端口有4个32位配置寄存器(GPIOx_MODERGPIOx_OTYPER GPIOx_OSPEEDR GPIOx_PUPD
2017-06-01 10:54:11 7113
stm32f1_mrvl88w8801应用笔记_20191220.pdf
2019-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人