芯片型号STM8L151C8T6 使用ADC,内部1.225V参考电压采样,计算电源电压。采样50次,发现数据没有规律的乱变,网上能找到的例子都试过了,甚至库函数中使用到的寄存器也都查看过了,找不到问题原因。 void ADC_Config_VCC(void) { CLK_PeripheralClockConfig(CLK_Peripheral_ADC1,ENABLE); //开启ADC1时钟 ADC_VrefintCmd(ENABLE); //使能内部参考电压 ADC_Init(ADC1,ADC_ConversionMode_Single,ADC_Resolution_12Bit,ADC_Prescaler_1); //连续转换,12位,转换时钟1分频 ADC_ChannelCmd(ADC1,ADC_Channel_Vrefint,ENABLE); //使能内部参考电压通道 ADC_Cmd(ADC1,ENABLE);//ADC使能 } void ADC_dispose(void) { uint8_t temp_i; uint16_t adc_data1[50]; ADC_Config_VCC();//ADC初始化,采样1.225V的参考电压,来反推出电源电压 adc_data =0; for(temp_i=0;temp_i<50;temp_i++) { ADC_SoftwareStartConv(ADC1); //开启软件转换 while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)); //等待转换结束 ADC_ClearFlag(ADC1,ADC_FLAG_EOC); //清除对应标志 adc_data1[temp_i]=ADC_GetConversionValue(ADC1); //获取转换值 } } 这是采集到的数据 ééå°çæ°æ® |
STM8S003F3U6 请求各位大佬支援,但是遇到如下问题。。。这样就一定是这颗芯片的问题吗?
STVD如何生成库文件
STM8 flash 库函数 startaddress = startaddress + ((uint32_t)BlockNum * FLASH_BLOCK_S
stm 8 flash 在RAM运行代码的问题,是不是库函数有问题 Library call (?sll32_l0_l0_a) from within a
STM 有能替代MCHC912B32CFUE8 / NXP的型号吗?
STM8S的CAN总线使用
STM8L151在使用DAC功能后严重发热
STM8 IIC SLAVE 400K
STM8S 定时器1互补输出pwm
STM8S003F3 NRST电压低,无法开机
是不是FOR内的第一句每次都在重开启转换呢
评分
查看全部评分
初始化中加一条,ADC_SamplingTimeConfig(ADC1, ADC_Group_SlowChannels, ADC_SamplingTime_384Cycles);
评分
查看全部评分
ADC数据格式好像没有初始化:
ADC1_ALIGN_RIGHT