用STM32F103zet6自带AD测量一个电压,用6位半电表测得该电压稳定可靠。 请教几个问题: (1)为什么只要单片机重新复位或者断电再上电以后测得的AD值与复位之前测得的AD值差距比较大? (2)上电选择好一个通道校准完AD之后,进行AD测量时测得的值比较稳定,多次测量偏差很小,再重新配置一下之前那个的通道(即再调用一次之前配置那个通道的函数,例如ADC_RegularChannelConfig(ADC1,ADC_Channel_13,1,ADC_SampleTime_239Cycles5);)得到的AD值与之前的AD值偏差比较大,求解原因? |
【MCU实战经验】基于STM32F103C8T6的hart总线调试器设计
求教STM32F103进入STOP模式后用外部中断唤醒的问题
基于STM32F103RCT6的无源蜂鸣器音乐播放(生日快乐歌)
STM32F103c8t6有没有DAC 功能?
STM32F103x中文数据手册
新手求教,为何在我电脑上找不到STM32F1Xx.h文件
金龙107例程汇总(STM32F107)
万利STM32F107VC 原理图
STM32F103 ADC多通道检测必须要DMA吗?
【官方例程】STM32F107以太网官方例程
回复:关于STM32F103单片机AD问题
RE:关于STM32F103单片机AD问题
RE:关于STM32F103单片机AD问题
#include "stm32f10x.h"
#include "SysTick\\systick.h"
#include
#include "USART\\usart.h"
/* Private define ------------------------------------------------------------*/
#define ADC1_DR_Address ((u32)0x4001244C)
#define N 100 //每通道采100次
#define M 6 //为2个通道
/* Private function prototypes -----------------------------------------------*/
void USART_Configuration(void);
void ADC_Configuration(void);
void filter(void);
u16 GetVolt(u16 advalue) ;
/* Private variables ---------------------------------------------------------*/
vu16 ADC_ConvertedValue;
vu16 AD_Value[N][M]; //用来存放ADC转换结果,也是DMA的目标地址
vu16 After_filter[M]; //用来存放求平均值之后的结果
int i;
int main(void)
{
u16 value[M];
Delay_Init();
USART_Configuration();
ADC_Configuration();
printf("\r\n****************************************************************\r\n");
/* Infinite loop */
while (1)
{
filter();
for(i=0;i