原代码: int main(void)
{
u16 adcx;
float temp;
delay_init();
uart_init(9600);
LED_Init();
LCD_Init();
Adc_Init();
POINT_COLOR=RED;
LCD_ShowString(60,50,200,16,16,"Mini STM32");
LCD_ShowString(60,70,200,16,16,"ADC TEST");
LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(60,110,200,16,16,"2014/3/9");
POINT_COLOR=BLUE;
LCD_ShowString(60,130,200,16,16,"ADC_CH1_VAL:");
LCD_ShowString(60,150,200,16,16,"ADC_CH1_VOL:0.000V");
while(1)
{
adcx=Get_Adc_Average(ADC_Channel_1,10);
LCD_ShowxNum(156,130,adcx,4,16,0);
temp=(float)adcx*(3.3/4096);
adcx=temp;
LCD_ShowxNum(156,150,adcx,1,16,0);
temp-=adcx;
temp*=1000;
LCD_ShowxNum(172,150,temp,3,16,0X80);
LED0=!LED0;
delay_ms(250);
}
}
我把屏幕换成竖屏,把显示字号改成24号
代码:
int main(void)
{
u16 adcx;
float temp;
delay_init();
uart_init(9600);
LED_Init();
LCD_Init();
Adc_Init();
POINT_COLOR=RED;
LCD_ShowString(50,50,400,24,24,"Hello world!");
LCD_ShowString(50,100,400,24,24,"ADC TEST");
// LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
// LCD_ShowString(60,110,200,16,16,"2014/3/9");
POINT_COLOR=BLUE;
LCD_ShowString(50,150,400,24,24,"ADC_CH0_VAL:");
LCD_ShowString(50,200,400,24,24,"ADC_CH0_VOL:0.000V");
while(1)
{
adcx=Get_Adc_Average(ADC_Channel_1,10);
LCD_ShowxNum(192,150,adcx,4,24,0);
temp=(float)adcx*(3.3/4096);
adcx=temp;
LCD_ShowxNum(192,200,adcx,1,24,0);
temp-=adcx;
temp*=1000;
LCD_ShowxNum(196,200,temp,3,24,0X80);
LED0=!LED0;
delay_ms(250);
}
我显示的电压值有问题不知道哪里出了问题,我只改动了一下x.y坐标还有字号大小呀
还有一个问题LCD_ShowString(50,200,400,24,24,"ADC_CH0_VOL:0.000V"); 这个地方0.000V改成 V就不刷新了这是为什么
新手非常感谢
|