52 lines
1.8 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "key.h"
#include "lcd.h"
#include "sdram.h"
#include "ltdc.h"
#include "adc.h"
//ALIENTEK 北极星STM32H750/F750开发板 实验20
//ADC 实验
//技术支持www.openedv.com
//广州市星翼电子科技有限公司
int main(void)
{
u16 adcx;
float temp;
Cache_Enable(); //打开L1-Cache
HAL_Init(); //初始化HAL库
Stm32_Clock_Init(160,5,2,4); //设置时钟,400Mhz
delay_init(400); //延时初始化
uart_init(115200); //串口初始化
LED_Init(); //初始化LED时钟
KEY_Init();
SDRAM_Init(); //初始化SDRAM
LCD_Init(); //初始化LCD
MY_ADC_Init(); //初始化ADC1通道5
POINT_COLOR=RED;
LCD_ShowString(30,50,200,16,16,"POLARIS STM32");
LCD_ShowString(30,70,200,16,16,"ADC TEST");
LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(30,110,200,16,16,"2019/4/29");
POINT_COLOR=BLUE;//设置字体为蓝色
LCD_ShowString(30,130,200,16,16,"ADC1_CH19_VAL:");
LCD_ShowString(30,150,200,16,16,"ADC1_CH19_VOL:0.000V");//先在固定位置显示小数点
while(1)
{
adcx=Get_Adc_Average(ADC_CHANNEL_19,20);//获取通道19的转换值20次取平均
LCD_ShowxNum(142,130,adcx,5,16,0); //显示ADCC采样后的原始值
temp=(float)adcx*(3.3/65536); //获取计算后的带小数的实际电压值比如3.1111
adcx=temp; //赋值整数部分给adcx变量因为adcx为u16整形
LCD_ShowxNum(142,150,adcx,1,16,0); //显示电压值的整数部分3.1111的话这里就是显示3
temp-=adcx; //把已经显示的整数部分去掉留下小数部分比如3.1111-3=0.1111
temp*=1000; //小数部分乘以1000例如0.1111就转换为111.1,相当于保留三位小数。
LCD_ShowxNum(158,150,temp,3,16,0X80); //显示小数部分前面转换为了整形显示这里显示的就是111.
LED0_Toggle;
delay_ms(250);
}
}