標(biāo)題:
STM32新手ADC改編 輸出十六個(gè)通道數(shù)據(jù)程序源碼
[打印本頁]
作者:
雜貨鋪小老板
時(shí)間:
2018-8-23 11:14
標(biāo)題:
STM32新手ADC改編 輸出十六個(gè)通道數(shù)據(jù)程序源碼
剛開始學(xué) 調(diào)程序可以參考下
單片機(jī)源程序如下:
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
#include "adc.h"
int main(void)
{
u16 i=0;
u16 times=0;
u16 adcx;
float temp;
//float temp;
delay_init(); //延時(shí)函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
uart_init(115200); //串口初始化為115200
LED_Init(); //LED端口初始化
KEY_Init(); //初始化與按鍵連接的硬件接口
Adc_Init();
while(1)
{
for(i=0;i<=15;i++)
{switch(i)
{case 0:
adcx=Get_Adc_Average(ADC_Channel_0,1);
printf("adcx0:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 1:
adcx=Get_Adc_Average(ADC_Channel_1,1);
printf("adcx1:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 2:
adcx=Get_Adc_Average(ADC_Channel_2,1);
printf("adcx2:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 3:
adcx=Get_Adc_Average(ADC_Channel_3,1);
printf("adcx3:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 4:
adcx=Get_Adc_Average(ADC_Channel_4,1);
printf("adcx4:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 5:
adcx=Get_Adc_Average(ADC_Channel_5,1);
printf("adcx5:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 6:
adcx=Get_Adc_Average(ADC_Channel_6,1);
printf("adcx6:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 7:
adcx=Get_Adc_Average(ADC_Channel_7,1);
printf("adcx7:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 8:
adcx=Get_Adc_Average(ADC_Channel_8,1);
printf("adcx8:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 9:
adcx=Get_Adc_Average(ADC_Channel_9,1);
printf("adcx9:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 10:
adcx=Get_Adc_Average(ADC_Channel_10,1);
printf("adcx10:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 11:
adcx=Get_Adc_Average(ADC_Channel_11,1);
printf("adcx11:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 12:
adcx=Get_Adc_Average(ADC_Channel_12,1);
printf("adcx12:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 13:
adcx=Get_Adc_Average(ADC_Channel_13,1);
printf("adcx13:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 14:
adcx=Get_Adc_Average(ADC_Channel_14,1);
printf("adcx14:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
case 15:
adcx=Get_Adc_Average(ADC_Channel_15,1);
printf("adcx15:");
printf("%d\n",adcx);
temp=(float)adcx*(3.3/4096);
printf("voltage:");
printf("%f\n",temp);
break;
}
}
delay_ms(1000);
}
}
復(fù)制代碼
所有資料51hei提供下載:
ADC改編.rar
(338.06 KB, 下載次數(shù): 41)
2018-8-23 17:13 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
jushihao
時(shí)間:
2019-1-16 15:23
程序能運(yùn)行嗎?下載到開發(fā)板沒有數(shù)據(jù)輸出,編譯沒有問題
作者:
jushihao
時(shí)間:
2019-1-16 17:11
感謝,搞了快2個(gè)小時(shí)才發(fā)現(xiàn)問題,可以運(yùn)行
作者:
沫沫5866
時(shí)間:
2019-3-28 01:03
感謝,,雖然有一個(gè)致命錯(cuò)誤,,,
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1