- 博客(17)
- 收藏
- 关注
原创 STM32 - 使用FSMC控制LCD
1. FSMC简介STM32F1 系列芯片使用 FSMC 外设来管理扩展的存储器,FSMC 是 Flexible Static Memory Controller 的缩写,译为灵活的静态存储控制器。它可以用于驱动包括 SRAM、 NOR FLASH 以及 NAND FLSAH 类型的存储器,不能驱动如 SDRAM 这种动态的存储器而 在 STM32F429 系列的控制器中,它具有 FMC 外设,支持控制 SDRAM 存储器。由于 FSMC 外设可以用于控制扩展的外部存储器,而 MCU 对液晶屏的操作
2021-04-05 17:35:33
3196
原创 STM32 - 串行FLASH文件系统FatFS 移植
1.FatFS文件系统介绍1.1 简要介绍文件系统,它是为了存储和管理数据,而在存储介质建立的一种组 织结构,这些结构包括操作系统引导区、目录和文件。常见的 windows 下的文件系统格式 包括 FAT32、NTFS、exFAT。在使用文件系统前,要先对存储介质进行格式化。格式化先 擦除原来内容,在存储介质上新建一个文件分配表和目录。这样,文件系统就可以记录数 据存放的物理地址,剩余空间。文件系统庞大而复杂,它 需要根据应用的文件系统格式而编写,而且一般与驱动层分离开来,很方便移植,所..
2021-03-08 19:07:56
798
1
原创 STM32 - 利用SPI接口读写FLASH编程实践
1. SPI 固件库介绍可以直接查看:F103固件库手册(只有英文没有中文).chm,找到SPI章节,相关信息都在这里:初始化结构体及函数定义在库文件“stm32f4xx_spi.h”及“stm32f4xx_spi.c”中,编程 时我们可以结合这两个文件内的注释使用或参考库帮助文档。typedef struct{ uint16_t SPI_Direction; /*设置 SPI 的单双向模式 */ uint16_t SPI_Mode; /*设置 SPI 的主/从机端模式 */
2021-02-28 12:36:21
1286
原创 SPI 协议简介
1.SPI 协议SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设 备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间, 要求通讯速率较高的场合。1.1SPI 物理层SPI 通讯设备之间的常用连接方式:SPI 通讯使用 3 条总线及片选线,3 条总线分别为 SCK、MOSI、MISO,片选线为 SS,它们的作用介绍如下:(1) SS ( Slave Select):从设备选...
2021-02-24 19:22:00
2708
原创 STM32 I2C 编程实践
1.I2C 固件库简介I2C 初始化结构体typedef struct { uint32_t I2C_ClockSpeed; /*!< 设置 SCL 时钟频率,此值要低于 400000*/ uint16_t I2C_Mode; /*!< 指定工作模式,可选 I2C 模式及 SMBUS 模式 */ uint16_t I2C_DutyCycle; /*指定时钟占空比,可选 low/high = 2:1 及 16:9 模式*/ uint16_t I2C_OwnAddress1; /.
2021-02-22 18:48:20
602
原创 STM32 I2C 介绍
1.STM32 的 I2C 外设简介STM32 的 I2C 外设可用作通讯的主机及从机,支持 100Kbit/s 和 400Kbit/s 的速率,支 持 7 位、10 位设备地址,支持 DMA 数据传输,并具有数据校验功能。它的 I2C 外设还支 持 SMBus2.0 协议,SMBus 协议与 I2C 类似,主要应用于笔记本电脑的电池管理中2.STM32 的I2C 架构主要分为4部分:1)引脚描述;2)时钟控制;3)数据控制;4)控制逻辑,包括控制及状态寄存器,DMA等等;..
2021-02-09 14:47:27
2869
原创 I2C协议简介
1.I2C 介绍I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件 实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛 地使用在系统内多个集成电路(IC)间的通讯。2.I2C 物理层它的物理层有如下特点:(1) 它是一个支持设备的总线。“总线”指多个设备共用的信号线。在一个 I2C 通讯总线 中,可连接多个 I2C 通讯设备,支持多个通讯主机及多个通讯从机。(2) 一个...
2021-02-08 18:42:29
727
原创 存储器简介
1. 存储器种类存储器按其存储介质特性主要分为“易失性存储器”和“非易失性存储器”两大类。 其中的“易失/非易失”是指存储器断电后,它存储的数据内容是否会丢失的特性。由于一 般易失性存储器存取速度快,而非易失性存储器可长期保存数据,它们都在计算机中占据 着重要角色。在计算机中易失性存储器最典型的代表是内存,非易失性存储器的代表则是 硬盘。2. RAMRAM 是“Random Access Memory”的缩写,被译为随机存储器。所谓―随机存取‖,指 的是当存储器中的消息被读取或写入时,所需要
2021-02-07 17:02:06
1000
1
原创 STM32 - DMA 编程实践2 M2P
1. 实验设计:Memory to Peripheral, Memory to 外设, 把内部SRAM的数据传输到串口外设,同时LED灯闪烁,演示DMA传数据不需要占用CPU2. 编程要点1)初始化USART;2)初始化DMA,注意也需要初始化DMA外设的时钟;3)编写主函数(开启串口发送DMA请求);3 源码完成相关宏定义// 串口工作参数宏定义#define DEBUG_USARTx USART1#define DEBUG_.
2021-02-05 19:41:56
365
原创 STM32 - DMA 编程实践1 M2M
1. 实验设计:Memory to Memory, FLASH to Memory, 把内部FLASH的数据传输到内部的SRAM2. 编程要点1)常量存储在FLASH中;2)初始化DMA,注意也需要初始化DMA外设的时钟;3)传输前亮黄灯,出错亮红灯,传输完成亮绿灯;3 源码定义相关的宏// 当使用存储器到存储器模式时候,通道可以随便选,没有硬性的规定#define DMA_CHANNEL DMA1_Channel6#define DMA_CLOCK
2021-02-03 09:33:16
1047
原创 STM32 - DMA 简介
1. 简介DMA(Direct Memory Access)—直接存储器存取,是单片机的一个外设,它的主要功能 是用来搬数据,但是不需要占用 CPU,即在传输数据的时候,CPU 可以干其他的事情,好 像是多线程一样。数据传输支持从外设到存储器或者存储器到存储器,这里的存储器可以 是 SRAM 或者是 FLASH。DMA 控制器包含了 DMA1 和 DMA2,其中 DMA1 有 7 个通道, DMA2 有 5 个通道,这里的通道可以理解为传输数据的一种管道。要注意的是 DMA2 只存 在于大容量的单片机中
2021-01-27 19:39:41
2271
原创 STM32 - USART简介
摘要:本章主要介绍STM32 的USART, 及其功能框图1. USART简介USART ((Universal Synchronous Asynchronous Receiver and Transmitter, 通用同步异步收发器),是一 个串行通信设备,可以灵活地与外部设备进行全双工数据交换。有别于 USART 还有一个 UART(Universal Asynchronous Receiver and Transmitter),它是在 USART 基础上裁剪掉了同 步通信功能,只有异步通信。.
2021-01-23 18:49:14
6889
原创 串口通信简介
摘要:本章主要介绍串口通信1. 串口通信主要包括物理层和协议层物理层:规定通讯系统中具有 机械、电子功能部分的特性,确保原始数据在物理媒体的传输。简单的说就是硬件部分。协议层:协议层主要规定通讯逻辑, 统一收发双方的数据打包、解包标准。简单的说就是软件部分。2. RS232 介绍2.1 物理层TTL电平,是芯片直接输出的电平,一般是3.3V~5V。在最初的应用中,RS-232 串口标准常用于计算机、路由与调制调解器(MODEN,俗称 “猫”)之间的通讯 ,..
2021-01-23 16:40:10
1618
原创 STM32 - 通迅的基本概念
摘要:本章主要介绍通迅的基本概念1. 串行通讯和并行通讯串行通讯是指设备之间通过少 量数据信号线(一般是 8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数 据的通讯方式。而并行通讯一般是指使用 8、16、32 及 64 根或更多的数据线进行传输的通 讯方式。2. 全双工、半双工和单工通讯根据数据通讯的方向,通讯又分为全双工、半双工及单工通讯,它们主要以信道的方 向来区分3. 同步通讯和异步通讯根据通讯的数据同步方式,又分为同步和异步两种,可以根.
2021-01-23 14:54:22
411
1
原创 STM32 - SysTick 浅谈
SysTick 浅谈摘要:本章主要介绍SysTick系统定时器的基本原理,然后实现了毫秒定时器1. SysTick Timer (STK)系统定时器,是CM3 内核的外设,内嵌在 NVIC 中。系统定时器 是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置 系统时钟 SYSCLK 等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产 生一次中断,以此循环往复。 因为 SysTick 是属于 CM3 内核的外设,所以所有基于 CM3.
2021-01-23 14:18:01
1612
5
原创 STM32 - 使用EXTI处理外部中断
使用EXTI处理外部中断1.任务描述使用开发板上的KEY1按键,达到开/关LED彩灯的目的2. 编程思路及要点编程思路检测GPIO中断,在中断服务函数里面,实现开/关LED彩灯编程要点1) 初始化用来产生中断的 GPIO;2) 初始化 EXTI;3) 配置 NVIC;4) 编写中断服务函数;3 示例代码为了方便移植,首先定义GPIO引脚1 //宏定义2 #define KEY1_INT_GPIO_PORT GPIOA3 ...
2021-01-23 10:12:08
732
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人