hhj_jstu-282668 发表于 2013-4-19 09:03:27

关于STM32F103单片机AD问题

 用STM32F103zet6自带AD测量一个电压,用6位半电表测得该电压稳定可靠。
请教几个问题:
(1)为什么只要单片机重新复位或者断电再上电以后测得的AD值与复位之前测得的AD值差距比较大?
(2)上电选择好一个通道校准完AD之后,进行AD测量时测得的值比较稳定,多次测量偏差很小,再重新配置一下之前那个的通道(即再调用一次之前配置那个通道的函数,例如ADC_RegularChannelConfig(ADC1,ADC_Channel_13,1,ADC_SampleTime_239Cycles5);)得到的AD值与之前的AD值偏差比较大,求解原因?

hhj_jstu-282668 发表于 2013-4-19 14:15:28

回复:关于STM32F103单片机AD问题

求教高人解决

hhj_jstu-282668 发表于 2013-7-17 16:30:32

RE:关于STM32F103单片机AD问题

ST的MCU技术支持太垃圾了,问个问题都没人回复

王zheng 发表于 2013-7-23 20:10:39

RE:关于STM32F103单片机AD问题

/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
#include "SysTick\\systick.h"
#include
#include "USART\\usart.h"
/* Private define ------------------------------------------------------------*/
#define ADC1_DR_Address    ((u32)0x4001244C)
#defineN   100               //每通道采100次
#defineM 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;
vu16AD_Value;   //用来存放ADC转换结果,也是DMA的目标地址
vu16After_filter;    //用来存放求平均值之后的结果
inti;
int main(void)
{
        u16 value;
        Delay_Init();
        USART_Configuration();
        ADC_Configuration();
       
printf("\r\n****************************************************************\r\n");
/* Infinite loop */
while (1)
{
                  
                filter();
                for(i=0;i
页: [1]
查看完整版本: 关于STM32F103单片机AD问题