随笔分类 -  野火指南者例程

摘要:第十六章 DMA存储器到外设模式实验 1. 硬件设计 存储器到外设模式使用到USART1功能,具体电路设置参考USART章节,无需其他硬件设计。 2. 软件设计 2.1 编程目的 配置USART通信功能; 设置串口DMA工作参数; 使能DMA; DMA传输同时CPU可以运行其他任务。 2.2 代码分 阅读全文
posted @ 2024-08-29 15:10 hazy1k 阅读(1) 评论(0) 推荐(0) 编辑
摘要:第十五章 DMA存储器到存储器模式实验 1. 硬件设计 存储器到存储器模式可以实现数据在两个内存的快速拷贝。我们先定义一个静态的源数据,存放在内部FLASH, 然后使用DMA传输把源数据拷贝到目标地址上(内部SRAM),最后对比源数据和目标地址的数据,看看是否传输准确 。 DMA存储器到存储器实验不 阅读全文
posted @ 2024-08-28 10:22 hazy1k 阅读(15) 评论(0) 推荐(0) 编辑
摘要:第十四章 USART 2&3&4&5接发通信实验 1. 硬件设计 参考第十二章 USART1接发通信实验 2. 软件设计 具体细节可以参考USART1,如果我们要使用其他串口,稍微改一下配置就行了,下面我们以USART2为例 // 串口2-USART2 #define DEBUG_USARTx US 阅读全文
posted @ 2024-08-27 21:33 hazy1k 阅读(1) 评论(0) 推荐(0) 编辑
摘要:第十三章 USART1指令控制RGB彩灯实验 1. 硬件设计 同前一章实验和已经介绍过的led 2. 软件设计 2.1 编程目标 初始化配置RGB彩色灯GPIO; 使能RX和TX引脚GPIO时钟和USART时钟; 初始化GPIO,并将GPIO复用到USART上; 配置USART参数; 使能USART 阅读全文
posted @ 2024-08-24 16:02 hazy1k 阅读(31) 评论(0) 推荐(0) 编辑
摘要:第十二章 USART1接发通信实验 1. 硬件设计 为利用USART实现开发板与电脑通信,需要用到一个USB转USART的IC,我们选择CH340G芯片来实现这个功能,CH340G是一个USB总线的转接芯片, 实现USB转USART、USB转lrDA红外或者USB转打印机接口,我们使用其USB转US 阅读全文
posted @ 2024-08-24 15:40 hazy1k 阅读(46) 评论(0) 推荐(0) 编辑
摘要:第十一章 SysTick定时实验 1. 硬件设计 SysTick属于单片机内部的外设,不需要额外的硬件电路,剩下的只需一个LED灯即可。 2. 软件设计 2.1 编程概要 设置重装寄存器的值 清除当前数值寄存器的值 配置控制与状态寄存器 2.2 代码分析 2.2.1 SysTick配置库函数 __S 阅读全文
posted @ 2024-08-22 16:19 hazy1k 阅读(26) 评论(0) 推荐(1) 编辑
摘要:第十章 EXTI控制实验 1. 硬件设计 轻触按键在按下时会使得引脚接通,通过电路设计可以使得按下时产生电平变化 2. 软件设计 我们需要完成的任务: 前置配置LED我们就不必多说了 初始化用来产生中断的GPIO,初始化EXTI #ifndef __EXTI_H #define __EXTI_H # 阅读全文
posted @ 2024-08-21 21:05 hazy1k 阅读(6) 评论(0) 推荐(0) 编辑
摘要:第九章 RCC-MCO输出 1. 使用HSE 一般情况下,我们都是使用HSE,然后HSE经过PLL倍频之后作为系统时钟。通常的配置是:HSE=8M,PLL的倍频因子为:9, 系统时钟就设置成:SYSCLK = 8M * 9 = 72M。使用HSE,系统时钟SYSCLK最高是128M。我们使用的库函数 阅读全文
posted @ 2024-08-20 15:45 hazy1k 阅读(24) 评论(0) 推荐(0) 编辑
摘要:第八章 GPIO-位带操作 1. 位带简介 位操作就是单独的对一个比特位读和写,在51单片机里我们见到过很多次了(sbit实现位定义,比如sbit LED1 = P2^0啦)但是STM32没有这样的关键字,所以通过访问位带别名区来实现。 在STM32中,有两个地方实现了位带,一个是SRAM区的最低1 阅读全文
posted @ 2024-08-20 14:47 hazy1k 阅读(42) 评论(0) 推荐(0) 编辑
摘要:第七章 GPIO输入-按键控制LED 1. 硬件设计 本章我们用到的硬件是-机械按键开关。在51单片机里我们已经学过了。此出再强调一下消抖。 按键机械触点断开、闭合时,由于触点的弹性作用,按键开关不会马上稳定接通或一下子断开, 使用按键时会产生带波纹信号,需要用软件消抖处理滤波,不方便输入检测。本实 阅读全文
posted @ 2024-08-20 14:39 hazy1k 阅读(42) 评论(0) 推荐(0) 编辑
摘要:第六章 GPIO输出—使用固件库控制LED 1. 硬件设计 在开发板上面与LED的连接见图,这是一个RGB灯,里面由红蓝绿三个小灯构成, 使用PWM控制时可以混合成256不同的颜色。 2. 软件设计 为了使工程更加有条理和方便迁移,我们把LED灯控制相关的代码分别独立存储。在“工程模板”之上新建一个 阅读全文
posted @ 2024-08-20 14:23 hazy1k 阅读(10) 评论(0) 推荐(0) 编辑
摘要:第五章 蜂鸣器实验 1. 硬件设计 我们开发板上面使用的有源蜂鸣器,图中BEEP1: 蜂鸣器分无源和有源两种,从电路上来看,这两种蜂鸣器在这都可以工作,区别是单片机程序不一样。 当节点Beep为高电平时,三极管Q4截止,蜂鸣器无电流,不响。 当节点Beep为低电平时,三极管Q4导通,蜂鸣器有电流,会 阅读全文
posted @ 2024-08-19 15:36 hazy1k 阅读(15) 评论(0) 推荐(0) 编辑
摘要:第四章 新建工程-固件库版本 1. 硬件设计 工程模板,没有硬件设计 2. 软件设计 #include "stm32f10x.h" // 相当于51单片机中的 #include <reg51.h> int main(void) { // 来到这里的时候,系统的时钟已经被配置成72M。 } 3. 小结 阅读全文
posted @ 2024-08-19 15:05 hazy1k 阅读(3) 评论(0) 推荐(0) 编辑
摘要:第三章 寄存器点亮三个LED 1. 硬件设计 硬件设计同上一个实验,我们直接分析代码就好了。 2. 软件设计 #include "stm32f10x.h" int main(void) { // 点亮LED1 // 1.开启GPIOB 端口时钟 RCC_APB2ENR |= (1<<3); // 2 阅读全文
posted @ 2024-08-19 15:03 hazy1k 阅读(1) 评论(0) 推荐(0) 编辑
摘要:第二章 我们的第一个实验-用寄存器点亮LED 1. 硬件设计 在本教程中STM32芯片与LED灯的连接见图, 这是一个RGB灯,里面由红蓝绿三个小灯构成,使用PWM控制时可以混合成256不同的颜色。 由图可知,3个LED灯的阳极引出连接到3.3V电源,阴极通过限流电阻引入至STM32的3个GPIO引 阅读全文
posted @ 2024-08-18 15:07 hazy1k 阅读(41) 评论(0) 推荐(0) 编辑
摘要:第一章 新建工程模板 参考:7. 新建工程—寄存器版 — [野火]STM32库开发实战指南——基于野火指南者开发板 文档 (embedfire.com) 1. 新建工程 1.1 新建本地工程文件夹 为了方便后期维护和工程目录清晰(参考51单片机模块化编程),我们在电脑本地新建一个文件夹用来存放整个工 阅读全文
posted @ 2024-08-18 14:57 hazy1k 阅读(9) 评论(0) 推荐(0) 编辑