- 2
- 0
- 约1.33万字
- 约 11页
- 2018-11-18 发布于天津
- 举报
STM32笔记(三)ADC、DMA、USART的综合练习.doc
HYPERLINK /jjldc/188553/message.aspx \l # STM32笔记(三)ADC、DMA、USART的综合练习
这是一个综合的例子,演示了ADC模块、DMA模块和USART模块的基本使用。 我们在这里设置ADC为连续转换模式,常规转换序列中有两路转换通道,分别是ADC_CH10(PC0)和ADC_CH16(片内温度传感器)。因为使用了自动多通道转换,数据的取出工作最适合使用DMA方式取出,so,我们在内存里开辟了一个u16 AD_Value[2]数组,并设置了相应的DMA模块,使ADC在每个通道转换结束后启动DMA传输,其缓冲区数据量为2个HalfWord,使两路通道的转换结果自动的分别落到AD_Value[0]和AD_Value[1]中。 然后,在主函数里,就无需手动启动AD转换,等待转换结束,再取结果了。我们可以在主函数里随时取AD_Value中的数值,那里永远都是最新的AD转换结果。 如果我们定义一个更大的AD_Value数组,并调整DMA的传输数据量(BufferSize)可以实现AD结果的循环队列存储,从而可以进行各种数字滤波算法。 接着,取到转换结果后,根据V=(AD_Value/4096)*Vref+的公式可以算出相应通道的电压值,也可以根据??T(℃) =? (1.43 - Vad)/34*10^(-6) + 25的算法,得到片内温度传感器的测量温度值了。 通过重新定义putchar函数,及包含stdio.h头文件,我们可以方便的使用标准C的库函数printf(),实现串口通信。 相关的官方例程,可以参考FWLib V2.0的ADC\ADC1_DMA和USART\printf两个目录下的代码。本代码例子是基于万利199的开发板EK-STM32F实现,CPU=STM32F103VBT6/******************************************************************************* 本文件实现ADC模块的基本功能* 设置ADC1的常规转换序列包含CH10和CH16(片内温度传感器)* 设置了连续转换模式,并使用DMA传输* AD转换值被放在了AD_Value[2]数组内,[0]保存CH0结果,[1]保存CH16结果* GetVolt函数计算[0]的值对应的电压值(放大100倍,保留2位小数)* GetTemp函数计算[1]的值对应的温度值,计算公式在相应函数内有说明*? 作者:jjldc(九九) *******************************************************************************//* Includes ------------------------------------------------------------------*/#include stm32f10x_lib.h#include stdio.h/* Private typedef -----------------------------------------------------------*//* Private define ------------------------------------------------------------*/#define ADC1_DR_Address??? ((u32)0x4001244C)/* Private macro -------------------------------------------------------------*//* Private variables ---------------------------------------------------------*/vu16 AD_Value[2];vu16 i=0;s16? Temp;u16? Volt;/* Private function prototypes -----------------------------------------------*/void RCC_Configuration(void);void GPIO_Configuration(void);void NVIC_Configuration(void);void USART1_Configuration(void);void ADC1_Configuration(void);void DMA_Configuration(void);int fputc
您可能关注的文档
最近下载
- 房地产开发报建工作全流程(可编辑).pptx VIP
- ECMO的应用及护理.pptx VIP
- 2026年党支部班子在对照抓好自身建设、加强理论武装、执行上级组织决定、加强党员管理监督等“六个对照”方面检查材料【两篇文】供参考.docx VIP
- DB50_T 1727.1-2024零散天然气橇装回收安全技术规程 第1部分:液化天然气.docx VIP
- 专题16 2026考前100天高考作文主题预测及结构建模01(九大预测主题 开头 结尾)-2026年高考语文议论文写作讲练(全国通用).docx
- GB25856-2010 仅载货电梯制造与安装安全规范.pdf VIP
- 中式面点制作工艺知到智慧树期末考试答案题库2025年青岛酒店管理职业技术学院.docx
- 绿地房地产开发报建全流程操作要点与风险管控.pdf VIP
- 智能保险箱的设计.doc VIP
- 2026年“树立和践行正确政绩观学习教育”专题实施方案(含学习研讨、查摆问题等6大环节).docx VIP
原创力文档

文档评论(0)