在本次实验中,使用了STM32F407ZGT6的模数转换器(ADC)外设来测量两个电压源:CR2032锂聚合物电池和USB 5V总线电源。由于STM32F407ZGT6的ADC只能安全接收最高达VDDA + 0.3V(绝对最大值为3.6V)的输入电压,因此设计了一个电阻分压电路,在输入信号到达MCU引脚之前将其降压。随后读取分压后的电压值,进行数字化处理,并通过固件重新缩放,以恢复原始的电源电压。
该项目是一个简单的人体反应计时器,使用RT-Spark开发板和STM32F407ZGT6微控制器构建而成。它用于测量当RGB LED亮起时,人能多快做出反应。
该项目是一个基于微控制器的C语言编写的音频生成器,配备三个按钮,用户可通过按钮播放声音或调节音高。它作为基本GPIO控制和按钮逻辑的实际演示。
本项目使用RT-Spark开发板和STM32F407ZGT6微控制器构建,主要通过代码延时来产生频率,实现引脚的开关控制、读取按钮输入、保存状态,并通过被动蜂鸣器发出提示音。
在这次实验活动中,我学习了如何在STM32F407ZGT6微控制器上使用定时器、中断和任务调度。主要目标是理解中断的工作原理、多个任务如何在系统中运行,以及不同的调度方法对任务性能的影响。
显示屏每100毫秒刷新一次,使时钟更新平稳且准确。一个每毫秒运行一次的定时器中断在后台负责时间记录,确保时钟保持精确。同时,一个外部LED灯每秒闪烁一次,然后逐渐变暗直至关闭,通过PWM实现平滑的淡出效果。
该项目使用RT-Spark开发板(STM32F407ZGT6)进行开发。在绿色LED亮起前,会随机生成1到3秒之间的间隔时间。一旦灯亮起,用户应尽快按下按钮。微控制器会计算从按钮中断发生前执行的循环次数,这可作为用户反应速度的相对衡量指标。
本实验的目的是制作一个电压表,使用RT-Thread RT-Spark开发板(STM32F407ZGT6)来测量CR2032纽扣电池的放电情况。
本实验/项目的目标是在基于STM32F407ZGT6的RT-Spark开发板上实现硬件定时器中断以及前台/后台任务调度系统。通过配置两个硬件定时器TIM2和TIM3,以不同速率切换两个内置LED灯;同时在KEY_UP按钮(PC5)上设置外部中断,按下时可立即切换两个LED灯的状态。系统采用循环执行架构:中断服务例程(ISRs)负责处理紧急的后台任务并设置标志位,而主循环则处理前台的实际任务。
这是一个使用 RT-Spark(Spark-1)开发板的简单用户界面(UI)项目,该开发板采用的是 STM32F407ZGT6 微控制器芯片。该项目专注于读取开关输入,并通过控制 LED 和在 RT-Spark 内置的液晶显示屏上显示消息来做出响应。它展示了 GPIO 的基本使用方法,以及微控制器如何实时与用户进行交互。其目的是了解硬件和软件如何协同工作以创建一个简单且功能完备的嵌入式系统。
时钟系统是CPU的脉搏,就像人的心跳一样。STM32F4 的时钟系统比较复杂,不像简单的51 单片机一个系统时钟就可以解决一切。STM32F4 的框图如下(可以看到相应的时钟):1. 连至 APB2 的定时器从 TIMxCLK 提供时钟 (最