开发一款使用ADC的电压表
本实验的目的是制作一个电压表,使用RT-Thread RT-Spark开发板(STM32F407ZGT6)来测量CR2032纽扣电池的放电情况。
第一阶段:STM32CubeMXMX 配置
1.新项目:打开 STM32CubeMX,选择 STM32F407ZGT6 作为目标微控制器。
2.启用ADC:导航至模拟,然后进入ADC1。
•勾选 IN2(对应您接线的 PA22 引脚)。
•在ADC设置中,将时钟预分频器设置为PCLK2除以8。
•确保分辨率设置为12位(15个ADC时钟周期)
3.项目经理设置:
•在项目管理选项卡中为您的项目命名。
•在工具链/IDE 下,选择 STM32CubeIDE。
•勾选“按每个外设生成一对 '.c/.h' 文件”选项。
•点击“生成代码”,然后在独立的 STM32CubeIDEIDE 应用程序中打开项目。
第二阶段:面包板硬件搭建
•将外部电池的正极(+)通过跳线连接到面包板上R1电阻的顶部引脚(即“电池/电源电压+”一栏)。
•将外部电池的负极(-)侧用跳线连接到面包板上的接地轨道上。
•保留连接面包板地线与RT-Spark地针的黑色跳线。
•将跳线连接在两个电阻的中间,接到RT-Spark的PA2引脚。
第三阶段:执行代码
•打开 core/src/main.c 文件。向下滚动到 USER CODE BEGIN PV PV PV 部分,添加你的变量。
•向下滚动到你的 main()() 函数。在无限的 while (1)) 循环内部,将你的逻辑放在 USER CODE BEGIN 333 部分。
第四阶段:实时表达与数据收集
•编译并运行:点击“构建”(锤子)图标进行编译。当看到“0 个错误”时,点击“调试”(虫子)图标将代码烧录到 RT-Sparkpark 板上。
•设置跟踪器:当调试器在 main() 的开头暂停时,从“变量”选项卡切换到“实时表达式”选项卡。添加 rawValue 和 voltage。
•实时运行:点击顶部工具栏中的“恢复”(播放)按钮(或按 F8)。
•观察并记录:* 000 值将立即更新,以反映通过面包板的实际电压。
本文编译自hackster.io





