随笔分类 - 野火指南者例程
摘要:第五十六章 PWR-PVD电源监控实验 1. 硬件设计 本实验中使用PVD监控STM32芯片的VDD引脚,当监测到供电电压低于阈值时会产生PVD中断,系统进入中断服务函数进入紧急处理过程。 所以进行这个实验时需要使用一个可调的电压源给实验板供电,改变给STM32芯片的供电电压,为此我们需要先了解实验
阅读全文
摘要:第五十五章 PWR-待机模式实验 1. 硬件设计 本实验中的硬件与睡眠模式、停止模式中的一致,主要使用到了按键、LED彩灯以及使用串口输出调试信息。要强调的是, 由于WKUP引脚(PA0)必须使用上升沿才能唤醒待机状态的系统,所以我们硬件设计的PA0引脚连接到按键KEY1,且按下按键的时候会在PA0
阅读全文
摘要:第五十四章 PWR-停止模式实验 1. 硬件设计 本实验中的硬件与睡眠模式中的一致,主要使用到了按键、LED彩灯以及使用串口输出调试信息。 2. 软件设计 2.1 编程目标 初始化用于唤醒的中断按键; 选择电压调节器的工作模式并进入停止状态; 使用按键中断唤醒芯片; 重启HSE时钟,使系统完全恢复停
阅读全文
摘要:第五十三章 PWR-睡眠模式实验 1. 硬件设计 实验中的硬件主要使用到了按键、LED彩灯以及使用串口输出调试信息, 这些硬件都与前面相应实验中的一致,涉及到硬件设计的可参考原理图或前面章节中的内容。 2. 软件设计 2.1 编程目标 初始化用于唤醒的中断按键 进入睡眠状态 使用按键中断唤醒芯片 2
阅读全文
摘要:第五十二章 电阻触摸屏-触摸画板 1. 硬件设计 1.1 液晶实物图 1.2 屏幕PCB底版 屏幕的PCB底板引出的信号线会通过PCB底板上的FPC接口与液晶面板连接,这些信包括液晶控制相关的CS、RS等信号及DB0-DB15数据线, 其中RS引脚以高电平表示传输数据,低电平表示传输命令;另外还有引
阅读全文
摘要:第五十一章 液晶显示中英文(任意大小) 1. 导入 前文中无论是ASCII字符还是GB2312的字符,都只能显示字库中设定的字体大小,例如,我们想显示一些像素大小为48x48的字符, 那我们又得制作相应的字库,非常麻烦。为此我们编写了一些函数,简便地实现显示任意大小字符的目的。 2. 软件设计 2.
阅读全文
摘要:第五十章 液晶显示中英文(字库在外部FLASH或SD卡) 1. 导入 显示ASCII编码比较简单,由于字库文件小,甚至都不需要使用外部的存储器,而显示汉字时,由于我们的字库是存储到外部存储器上的, 这涉及到额外的获取字模数据的操作。 我们分别制作了两个工程来演示如何显示汉字,以下部分的内容请打开“液
阅读全文
摘要:第四十九章 液晶显示英文(字库存储内部FLASH) 1. 硬件设计 针对不同模式的液晶显示字符工程,需要有不同的硬件支持。字库存储在STM32芯片内部FLASH的工程跟普通液晶显示的硬件需求无异。 需要外部字库的工程,要有额外的SPI-FLASH、SD支持,使用外部FLASH时,我们的实验板上直接用
阅读全文
摘要:第四十七章 LCD-液晶显示实验 1. 硬件设计 本小节讲解如何使用FSMC外设控制实验板配套的3.2寸ILI9341液晶屏,该液晶屏的分辨率为320x240,支持RGB565格式。 屏幕的PCB底板引出的信号线会通过PCB底板上的FPC接口与液晶面板连接,这些信包括液晶控制相关的CS、RS等信号及
阅读全文
摘要:第四十六章 RTC-万年历 RTC外设是个连续计数的计数器,利用它提供的时间戳,可通过程序转换输出实时时钟和日历的功能, 修改计数器的值则可以重新设置系统当前的时间和日期。由于它的时钟配置系统(RCC_BDCR寄存器)是在备份域,在系统复位或从待机模式唤醒后RTC的设置维持不变, 而且使用备份域电源
阅读全文
摘要:第四十五章 DAC-输出正弦波 1. 硬件设计 STM32的DAC外设有固定的输出通道,分别为PA4和PA5,不过,指南者开发板已经在板载SPI-FLASH芯片中使用了这两个引脚, 所以用作DAC通道输出电压时会受到干扰,影响实验 PA5引脚连接到FLASH芯片的CLK引脚中,这可能会干扰DAC实验
阅读全文
摘要:第四十四章 ADC-芯片温度 1. 硬件设计 使用ADC的内部温度通道获取芯片温度 通过ADC1的通道16获取芯片内部的温度,把获取到的温度通过串口打印到电脑的串口调试助手显示。 均使用芯片资源,无需其他硬件设计 2. 软件设计 温度参数宏定义 // 对于12位的ADC,3.3V的ADC值为0xff
阅读全文
摘要:第四十三章 ADC-双ADC(同步规则) AD转换包括采样阶段和转换阶段,在采样阶段才对通道数据进行采集;而在转换阶段只是将采集到的数据进行转换为数字量输出,此刻通道数据变化不会改变转换结果。 独立模式的ADC采集需要在一个通道采集并且转换完成后才会进行下一个通道的采集。而双重ADC的机制就是使用两
阅读全文
摘要:第四十二章 ADC-多通道(DMA读取) 1. 硬件设计 开发板已通过排针接口把部分ADC通道引脚引出,其中电位器通过跳线帽默认接了一个ADC的IO, 其他的ADC IO 在做实验的时候可以用杜邦线连接到开发板中的GND或者3V3来获取模拟信号。要注意的是, 用来做ADC输入的IO不能被复用,否则会
阅读全文
摘要:第41章 ADC-单通道(DMA读取) 1. 硬件设计 和单通道(中断读取)的实验差不多,差别在于ADC转换结果数据使用DMA方式传输到指定的存储区,取代单通道使用中断的读取方法 2. 软件分析 ADC GOIO及通道宏定义 /********************ADC1输入通道(引脚)配置**
阅读全文
摘要:第40章 ADC-单通道(中断读取) 1. 硬件设计 开发板板载一个贴片滑动变阻器,电路设计见图: 贴片滑动变阻器的动触点通过连接至STM32芯片的ADC通道引脚。当我们使用旋转滑动变阻器调节旋钮时, 其动触点电压也会随之改变,电压变化范围为0~3.3V,亦是开发板默认的ADC电压采集范围。 2.
阅读全文
摘要:第三十九章 WWDG喂狗实验 1. 硬件设计 WWDG一个 LED两个 WWDG属于单片机内部资源,不需要外部电路,需要两个LED来指示程序的运行状态。 2. 软件设计 WWDG配置函数 void WWDG_Config(uint8_t tr, uint8_t wr, uint32_t prv) {
阅读全文
摘要:第三十八章 IWDG超时实验 1. 硬件设计 IWDG一个 按键一个 LED三个 IWDG属于单片机内部资源,不需要外部电路,需要一个外部的按键和LED,在 1s 的时间内通过按键来不断的喂狗,如果喂狗失败,红灯闪烁。如果一直喂狗成功,则绿灯常亮。 2. 软件设计 IWDG配置函数 void IWD
阅读全文
摘要:第三十七章 TIM-输出SPWM波 1. 硬件设计 与全彩呼吸灯一样,只是使用的PWM表不同 2. 软件设计 硬件相关宏定义 // 电压幅值等级数 #define AMPLITUDE_CLASS 256 // 控制输出波形的频率 extern __IO uint16_t period_class;
阅读全文
摘要:第三十六章 TIM-全彩呼吸灯 1. 硬件设计 与上一章一样 2. 软件设计 2.1 编程目标 在单色呼吸灯的基础上,增加PWM输出通道,三个通道分别控制红绿蓝颜色; 编写中断服务函数,增加对拟合波形幅值的控制; 计算获取新的PWM数据表; 2.2 代码分析 硬件相关宏定义 // 电压幅值等级数 #
阅读全文