STM32
直播中

张莹

7年用户 979经验值
私信 关注
[问答]

STM32F103VCT6做多路数据采集系统主处理函数不会写

小弟用STM32F103VCT6做多路数据采集系统,ADC,USART,DMA,GPIO,RCC都配置了,最后的主处理函数(红字部分)不会写,求指点。
8路数据采集系统.doc (49 KB )

回帖(3)

李捷

2020-4-8 09:27:58
...
举报

杨梅

2020-4-8 09:46:28
原子哥,我把代码改成如下,但是串口出来的全是0.00V。这是咋么回事,我该咋么改。
vu16 AD_Value[8];    
 u16  Volt1,Volt2,Volt3,Volt4,Volt5,Volt6,Volt7,Volt8;    
 u16 GetVolt(u16 advalue); 
/*******************************************************************************
* Function Name: main
* Description : Main program
*******************************************************************************/
int main(void)
{
GPIO_Configuration();
USART_Configuration();
ADC_Configuration();
delay_init(); 
    /* Infinite loop */
    while (1)
{
Volt1 =  GetVolt(AD_Value[0]);    //8路采集回来的电压
        Volt2 =  GetVolt(AD_Value[1]);
        Volt3 =  GetVolt(AD_Value[2]);       
        Volt4 =  GetVolt(AD_Value[3]);
        Volt5 =  GetVolt(AD_Value[4]);  
        Volt6 =  GetVolt(AD_Value[5]);    
        Volt7 =  GetVolt(AD_Value[6]);
        Volt8 =  GetVolt(AD_Value[7]);       
         delay_ms(500); 
printf("Volt1=%4.2fVrn", Volt1);
  delay_ms(500);
          printf("Volt2=%4.2fVrn", Volt2); 
 delay_ms(500); 
printf("Volt3=%4.2fVrn", Volt3); 
  delay_ms(500); 
printf("Volt4=%4.2fVrn", Volt4);
  delay_ms(500); 
printf("Volt5=%4.2fVrn", Volt5);
  delay_ms(500); 
printf("Volt6=%4.2fVrn", Volt6);
  delay_ms(500); 
printf("Volt7=%4.2fVrn", Volt7);
  delay_ms(500); 
printf("Volt8=%4.2fVrn", Volt8); 
    delay_ms(500); 
 
      /*====LED-ON=======*/
  GPIO_SetBits(GPIOD , GPIO_Pin_8);
  GPIO_SetBits(GPIOD , GPIO_Pin_9);
  GPIO_SetBits(GPIOD , GPIO_Pin_10);
  GPIO_SetBits(GPIOD , GPIO_Pin_11);
  delay_ms(500);   /* delay 500ms */
  /*====LED-OFF=======*/ 
  GPIO_ResetBits(GPIOD , GPIO_Pin_8);
  GPIO_ResetBits(GPIOD , GPIO_Pin_9);
  GPIO_ResetBits(GPIOD , GPIO_Pin_10);
  GPIO_ResetBits(GPIOD , GPIO_Pin_11);
  delay_ms(500);   /* delay 500ms */
}
}
   u16 GetVolt(u16 advalue) 

    return (u16)(advalue / 4096)*3.3; 
举报

李姗蔓

2020-4-8 09:57:22
你先学会读1路的ADC.之后举一反三即可.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分