初中生
最后登录1970-1-1
在线时间 小时
注册时间2018-3-20
|
我想实现8通道电压采集及电压有效值计算,通道部分是在例程的基础上加了PA6和7,电压部分采用的是开发板的3.3V,采样为50次,结果数据不对,数据结果在附件中,有效值计算及主程序代码如下。
- void Mathcal(void)
- {
- float ADC_SumValue = 0;
-
- for(uint16_t i=0;i<NOFCHANEL;i++)
- {
- for(uint16_t j=0;j<NOFSAMPL;j++)
- {
- ADC_ConvertedValueLocal[j][i] =(float) ADC_ConvertedValue[j][i]/4096*3.3;
- ADC_SumValue=ADC_SumValue+(ADC_ConvertedValueLocal[j][i])*(ADC_ConvertedValueLocal[j][i]);
- printf("\r\n值ADC_ConvertedValueLocal[%d][%d] = %f V \r\n",i,j,ADC_ConvertedValueLocal[j][i]);
- printf("\r\n\r\n");
- }
- ADC_RootValue[i] = sqrt(ADC_SumValue /NOFSAMPL);
- printf("\r\n有效值Value[%d] = %f V \r\n",i,ADC_RootValue[i]);
-
- printf("\r\n\r\n");
- printf("\r\n\r\n");
- ADC_SumValue = 0;
- }
- }
- /*** @brief 主函数* @param 无 * @retval 无 ***/
- int main(void)
- {
- // 配置串口
- USART_Config();
-
- // ADC 初始化
- ADCx_Init();
-
- printf("\r\n ----这是一个ADC多通道采集实验----\r\n");
-
- while (1)
- {
- Delay(0xffffff);
- Mathcal();
- Delay(0xffffff);
- }
- }
复制代码
|
|