OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3076|回复: 5

原子哥 各位大虾 上电初屏幕为什么要闪三下 其他功能都正常 如下主程序(ALIENTEK 战舰STM32开发板)

[复制链接]

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2013-3-21
在线时间
11 小时
发表于 2013-5-7 09:00:42 | 显示全部楼层 |阅读模式
试很久找不到原因 各位大虾看看指点一下小弟

#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h" 
#include "beep.h"  
#include "key.h"  
#include "exti.h"  
#include "wdg.h"  
#include "timer.h"  
#include "tpad.h"
#include "oled.h"  
#include "lcd.h"
#include "usmart.h"
#include "rtc.h"  
#include "wkup.h"
#include "adc.h"  
//ALIENTEK战舰STM32开发板实验17
//ADC 实验  
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司  
int main(void)
{
u16 adcx;
float temperate; 
float temp,t;
  Stm32_Clock_Init(9); //系统时钟设置
uart_init(72,9600); //串口初始化为9600
delay_init(72);
BEEP_Init();   //延时初始化 
LED_Init();   //初始化与LED连接的硬件接口

//usmart_dev.init(72); //初始化USMART
  Adc_Init();   //ADC初始化    
RTC_Init();
KEY_Init();
// delay_ms(100);
LCD_Init();   //初始化LCD
//显示时间
POINT_COLOR=RED;//设置字体为蓝色
LCD_ShowString(60,50,200,16,16,"    -  -  ");   
LCD_ShowString(60,70,200,16,16," : :  ");
//POINT_COLOR=BLUE;//设置字体为蓝色
LCD_ShowString(60,130,200,16,16,"ADC_CH0_VAL:");      
LCD_ShowString(60,150,200,16,16,"ADC_CH0_VOL:0.000V");
// POINT_COLOR=BLACK;//设置字体为蓝色 
    LCD_ShowString(60,180,200,16,16,"TEMP_VAL:");        
    LCD_ShowString(60,200,200,16,16,"TEMP_VOL:0.000V");         
    LCD_ShowString(60,220,200,16,16,"TEMPERATE:00.00C");  
POINT_COLOR=BLACK;//设置字体为蓝色      
while(1)
{// POINT_COLOR=RED;
   
if(t!=calendar.sec)
{
t=calendar.sec;
LCD_ShowNum(60,50,calendar.w_year,4,16);  
LCD_ShowNum(100,50,calendar.w_month,2,16);  
LCD_ShowNum(124,50,calendar.w_date,2,16);  
switch(calendar.week)
{
case 0:
LCD_ShowString(60,90,200,16,16,"Sunday   ");
break;
case 1:
LCD_ShowString(60,90,200,16,16,"Monday   ");
break;
case 2:
LCD_ShowString(60,90,200,16,16,"Tuesday  ");
break;
case 3:
LCD_ShowString(60,90,200,16,16,"Wednesday");
break;
case 4:
LCD_ShowString(60,90,200,16,16,"Thursday ");
break;
case 5:
LCD_ShowString(60,90,200,16,16,"Friday   ");
break;
case 6:
LCD_ShowString(60,90,200,16,16,"Saturday ");
break;  
}
LCD_ShowNum(60,70,calendar.hour,2,16);  
LCD_ShowNum(84,70,calendar.min,2,16);  
LCD_ShowNum(108,70,calendar.sec,2,16);
LED0=!LED0;
}
  //delay_ms(100);
//POINT_COLOR=BLUE;//设置字体为蓝色
//利用adc检测触摸板上的电压
adcx=Get_Adc_Average(ADC_CH1,10);
LCD_ShowxNum(156,130,adcx,4,16,0);//显示ADC的值
temp=(float)adcx*(3.3/4096);
t=temp;
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);
if(t>2.8)
 {LED1=0;BEEP=0; }
 else
{LED1=1 ; BEEP=1;} //触摸板有无触摸

if(KEY_Scan(1))
         BEEP=!BEEP; //按键按下检测

 //delay_ms(100);
adcx=Get_Adc_Average(ADC_CH_TEMP,10); 
    LCD_ShowxNum(132,180,adcx,4,16,0);//显示ADC的值 
    temp=(float)adcx*(3.3/4096); 
    temperate=temp;//保存温度传感器的电压值 
    adcx=temp; 
    LCD_ShowxNum(132,200,adcx,1,16,0);             //显示电压值整数部分 
    temp-=(u8)temp;                  //减掉整数部分       
    LCD_ShowxNum(148,200,temp*1000,3,16,0X80);  //显示电压小数部分     
    temperate=(1.43-temperate)/0.0043+25;      //计算出当前温度值     
    LCD_ShowxNum(140,220,(u8)temperate,2,16,0);    //显示温度整数部分 
    temperate-=(u8)temperate;     
    LCD_ShowxNum(164,220,temperate*100,2,16,0X80);//显示温度小数部分 
delay_ms(100);
}
 
};  
//显示提示信息
//POINT_COLOR=BLUE;//设置字体为蓝色
  


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-7 10:26:45 | 显示全部楼层
回复【楼主位】sanlang:
---------------------------------
那是一键下载电路的问题,硬件问题。
和你的程序无关。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2013-3-21
在线时间
11 小时
 楼主| 发表于 2013-5-7 11:52:11 | 显示全部楼层
那怎么解决这个问题?原子哥!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-7 11:58:42 | 显示全部楼层
把USB插另外一个口供电就是了。
这个现象只是在第一次上电的时候出现一次,后续一般就不会出现了。
你不要不停的按电源开关。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2013-3-21
在线时间
11 小时
 楼主| 发表于 2013-5-7 12:02:28 | 显示全部楼层
嗯嗯,好的 !感谢原子哥解惑!
回复 支持 反对

使用道具 举报

3

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2018-7-15
在线时间
10 小时
发表于 2018-9-22 20:12:00 | 显示全部楼层
正点原子 发表于 2013-5-7 11:58
把USB插另外一个口供电就是了。
这个现象只是在第一次上电的时候出现一次,后续一般就不会出现了。
你不要 ...

是什么原因导致这样的?还有为什么插另一个就不会出现这样的问题??原子哥
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 03:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表