随笔分类 -  STM32F1_STD库

摘要:第二十六章 电容按键检测实验 1. 硬件设计 标示TPAD1在电路板上就是电容按键实体,默认通过一个调帽连接到PA1,即通用定时器TIM5的通道2。 充电电容的阻值为5.1M,电阻的大小决定了电容按键充电的时间。 2. 软件设计 2.1 编程大纲 TIM相关参数宏定义 TIM GPIO和Mode配置 阅读全文
posted @ 2024-09-11 16:24 hazy1k 阅读(61) 评论(0) 推荐(0)
摘要:第十九章 TIM-通用定时器 1. 通用定时器简介 STM32F103的通用定时器有4个,为了更好的区别各个定时器的特性,我们列了一个表格,如下所示: 由上表知道:该 STM32 芯片的计数器都是 16 位的。 通用定时器和高级定时器其实也就是在基本定时器的基础上,添加了一些其他功能,如: 输入捕获 阅读全文
posted @ 2024-09-11 14:43 hazy1k 阅读(282) 评论(0) 推荐(0)
摘要:第十八章 电容按键原理 电容器(简称为电容)就是可以容纳电荷的器件,两个金属块中间隔一层绝缘体就可以构成一个最简单的电容。如图,有两个金属片,之间有一个绝缘介质,这样就构成了一个电容。这样一个电容在电路板上非常容易实现, 一般设计四周的铜片与电路板地信号连通,这样一种结构就是电容按键的模型。当电路板 阅读全文
posted @ 2024-09-11 14:19 hazy1k 阅读(75) 评论(0) 推荐(0)
摘要:第二十五章 基本定时器定时实验 1. 硬件设计 本实验利用基本定时器 TIM6 定时 1s,1s 时间到 LED 翻转一次。基本定时器是单片机内部的资源, 没有外部 IO,不需要接外部电路,现只需要一个 LED 即可。 2. 软件设计 2.1 编程大纲 TIM相关参数宏定义 TIM工作参数设置及初始 阅读全文
posted @ 2024-09-10 20:33 hazy1k 阅读(90) 评论(0) 推荐(0)
摘要:第十七章 TIM-基本定时器 1. 定时器分类 STM32F1 系列中,共有 8个定时器,分为基本定时器,通用定时器和高级定时器。 基本定时器 TIM6 和 TIM7 是一个 16位的只能向上计数的定时器,只能定时,没有外部 IO。 通用定时器 TIM2/3/4/5是一个 16位的可以向上/下计数的 阅读全文
posted @ 2024-09-10 20:10 hazy1k 阅读(246) 评论(0) 推荐(0)
摘要:第二十四章 FatFs功能使用实验 上个实验我们实现了FatFs的格式化、读文件和写文件功能,这个已经满足很多部分的运用需要。有时,我们需要更多的文件操作功能, FatFs还是提供了不少的功能的,比如设备存储空间信息获取、读写文件指针定位、创建目录、文件移动和重命名、文件或目录信息获取等等功能。 我 阅读全文
posted @ 2024-09-08 15:30 hazy1k 阅读(336) 评论(0) 推荐(0)
摘要:第二十三章 FatFs文件系统移植实验 1. FatFs程序结构图 用户应用程序需要由用户编写,想实现什么功能就编写什么的程序,一般我们只用到f_mount()、f_open()、f_write()、f_read()就可以实现文件的读写操作。 FatFs组件是FatFs的主体,文件都在源码src文件 阅读全文
posted @ 2024-09-06 10:15 hazy1k 阅读(377) 评论(0) 推荐(0)
摘要:第十六章 串行Flash文件系统FatFs 1. FatFs文件系统简介 上面提到的逻辑转换部分代码(文件系统)即为本章的要点,文件系统庞大而复杂,它需要根据应用的文件系统格式而编写, 而且一般与驱动层分离开来,很方便移植,所以工程应用中一般是移植现成的文件系统源码。 FatFs是面向小型嵌入式系统 阅读全文
posted @ 2024-09-06 09:28 hazy1k 阅读(61) 评论(0) 推荐(0)
摘要:第二十二章 W25Q64存储小数和整数 1. 硬件设计 参考上一章SPI读写实验 2. 软件设计 主要程序设计我们在上一章就见识过了,这个实验主要就是改下主函数就行了 #include "led.h" #include "spi_flash.h" #include "usart.h" __IO ui 阅读全文
posted @ 2024-09-05 15:51 hazy1k 阅读(128) 评论(0) 推荐(0)
摘要:第二十一章 SPI读写串行FLASH实验 1. 硬件设计 实验板中的FLASH芯片(型号:W25Q64)是一种使用SPI通讯协议的NOR FLASH存储器, 它的CS/CLK/DIO/DO引脚分别连接到了STM32对应的SPI引脚NSS/SCK/MOSI/MISO上,其中STM32的NSS引脚是一个 阅读全文
posted @ 2024-09-05 15:42 hazy1k 阅读(478) 评论(0) 推荐(0)
摘要:第二十章 AT24C02存储小数 1. 硬件设计 参考第18章 硬件I2C实验 2. 软件设计 2.1 编程大纲 定义小数和长整数的数组和地址 主函数测试读写小数和长整数 2.2 代码分析 这里就主要讲解主函数啦,因为其他部分是和硬件I2C一样的 #include "stm32f10x.h" #in 阅读全文
posted @ 2024-09-04 10:54 hazy1k 阅读(60) 评论(0) 推荐(0)
摘要:第十九章 模拟I2C 1. 硬件设计 我们使用GPIO来模拟I2C,无其他硬件资源 2. 软件设计 2.1 编程大纲 模拟I2C宏定义配置 根据时序模拟I2C 沿用上一节的EEPROM读写代码 主函数测试 2.2 代码设计 2.2.1 模拟I2C宏定义 #define I2C_WR 0 // 写控制 阅读全文
posted @ 2024-09-04 10:43 hazy1k 阅读(147) 评论(0) 推荐(0)
摘要:第十八章 硬件I2C EEPROM是一种掉电后数据不丢失的存储器,常用来存储一些配置信息,以便系统重新上电的时候加载之。 EEPOM芯片最常用的通讯方式就是I2C协议, 本小节以EEPROM的读写实验为大家讲解STM32的I2C使用方法。 实验中STM32的I2C外设采用主模式,分别用作主发送器和主 阅读全文
posted @ 2024-09-04 10:29 hazy1k 阅读(101) 评论(0) 推荐(0)
摘要:第十四章 I2C协议简介 IIC(Inter-Integrated Circuit(集成电路总线))_百度百科 (baidu.com) 在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32标准库则是在寄存器与用户代码之间的软件层。 对于通讯协议,我们也以分层 阅读全文
posted @ 2024-08-30 11:25 hazy1k 阅读(589) 评论(2) 推荐(1)
摘要:第十三章 常用存储器介绍 1. 存储器种类 存储器是计算机结构的重要组成部分。存储器是用来存储程序代码和数据的部件,有了存储器计算机才具有记忆功能。 存储器按其存储介质特性主要分为“易失性存储器”和“非易失性存储器”两大类。其中的“易失/非易失”是指存储器断电后, 它存储的数据内容是否会丢失的特性。 阅读全文
posted @ 2024-08-30 11:07 hazy1k 阅读(81) 评论(0) 推荐(0)
摘要:第十七章 DMA外设到存储器实验 1. 硬件设计 外设到存储器使用到USART1功能,具体电路设置参考USART章节,无需其他硬件设计。 2. 软件设计 2.1 编程大纲 配置USART通信功能; 设置串口DMA工作参数; 使能DMA; DMA传输同时CPU可以运行其他任务。 2.2 代码分析 2. 阅读全文
posted @ 2024-08-29 15:20 hazy1k 阅读(48) 评论(0) 推荐(0)
摘要:第十六章 DMA存储器到外设模式实验 1. 硬件设计 存储器到外设模式使用到USART1功能,具体电路设置参考USART章节,无需其他硬件设计。 2. 软件设计 2.1 编程大纲 配置USART通信功能 设置串口DMA工作参数 使能DMA DMA传输同时CPU可以运行其他任务 2.2 代码分析 2. 阅读全文
posted @ 2024-08-29 15:10 hazy1k 阅读(65) 评论(0) 推荐(0)
摘要:第十五章 DMA存储器到存储器模式实验 1. 硬件设计 存储器到存储器模式可以实现数据在两个内存的快速拷贝。我们先定义一个静态的源数据,存放在内部FLASH, 然后使用DMA传输把源数据拷贝到目标地址上(内部SRAM),最后对比源数据和目标地址的数据,看看是否传输准确 。 DMA存储器到存储器实验不 阅读全文
posted @ 2024-08-28 10:23 hazy1k 阅读(117) 评论(0) 推荐(0)
摘要:第十二章 DMA介绍 1. 导入 DMA(Direct Memory Access)—直接存储器存取,是单片机的一个外设,它的主要功能是用来搬数据,但是不需要占用CPU, 即在传输数据的时候,CPU可以干其他的事情,好像是多线程一样。数据传输支持从外设到存储器或者存储器到存储器, 这里的存储器可以是 阅读全文
posted @ 2024-08-28 10:07 hazy1k 阅读(396) 评论(0) 推荐(0)
摘要:第十四章 USART 2&3&4&5接发通信实验 1. 硬件设计 参考第十二章 USART1接发通信实验 2. 软件设计 2.1 USART2宏定义 具体细节可以参考USART1,如果我们要使用其他串口,稍微改一下配置就行了,下面我们以USART2为例 // USARTx 引脚宏定义 #define 阅读全文
posted @ 2024-08-27 21:33 hazy1k 阅读(80) 评论(0) 推荐(0)