OpenEdv-开源电子网

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

求助!!待机唤醒后屏幕颜色怎么变了?

[复制链接]

13

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
375
金钱
375
注册时间
2013-12-12
在线时间
13 小时
发表于 2014-3-1 02:11:46 | 显示全部楼层 |阅读模式
如题,我是用key0进入待机状态,wkup键唤醒,但是唤醒后屏幕显示的颜色变了(貌似互补的如:白——>黑)而且屏幕还一闪一闪的,代码如下
wkup.c部分代码
void Sys_Standby(void)
{
NVIC_SystemLPConfig(NVIC_LP_SLEEPDEEP,ENABLE);   
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); //????PWR??BKP???è?±??    
PWR_WakeUpPinCmd(ENABLE);  //????????????????

PWR_EnterSTANDBYMode();  //???????ü?¨STANDBY??????  
}


void Sys_Enter_Standby(void)
{  
RCC_APB2PeriphResetCmd(0X01FC,DISABLE);  //?????ù??IO
Sys_Standby();
}

u8 Check_WKUP()
{
u16 t=0;
while(!KEY_WKUP&&(t<100))
{
delay_ms(10);
t++;
}
if(t>=100) return 1;
else return 0;
}

void WKUP_Init(void)
{
       GPIO_InitTypeDef GPIO_InitStructure;
       EXTI_InitTypeDef EXTI_InitStructure;
       NVIC_InitTypeDef NVIC_InitStructure;



       RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);//使能时钟

       //PA.13设置
       GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_13;
       GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
       GPIO_Init(GPIOA, &GPIO_InitStructure);
 
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource13);    //中断线初始化
EXTI_InitStructure.EXTI_Line=EXTI_Line13;            
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);  
NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; //外部中断通道设置
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; //
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //????????
NVIC_Init(&NVIC_InitStructure); 

if(Check_WKUP()==1) Sys_Standby();    // 
}

void EXTI0_IRQHandler(void)
{
LED0=!LED0;
if((EXTI_GetITStatus(EXTI_Line13) != RESET)&&Check_WKUP())
Sys_Enter_Standby();
EXTI_ClearITPendingBit(EXTI_Line13); //  




main.c中有关代码
int main()
{
        SystemInit(); 
delay_init(72);
uart_init(9600);
NVIC_Configuration();
LED_Init();
KEY_Init();
LCD_Init();
Timer3_Init(4999,7199);
// RTC_Init();
  WKUP_Init();

LCD_Clear(BLUE);
BACK_COLOR=BLUE;
LCD_ShowString(30,50,"Times of key0:");
LCD_ShowString(30,90,"Times of key1:");
LCD_ShowString(30,130,"Times of key2:");

while(1)
{

LCD_Show2Num(140,50,Times_key0,3,16,0);
LCD_Show2Num(140,90,Times_key1,3,16,0);
LCD_Show2Num(140,130,Times_key2,3,16,0);

delay_ms(100);
}
}




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

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-3-1 09:57:34 | 显示全部楼层
唤醒以后应该要重新初始化屏幕吧
回复 支持 反对

使用道具 举报

13

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
375
金钱
375
注册时间
2013-12-12
在线时间
13 小时
 楼主| 发表于 2014-3-1 11:32:11 | 显示全部楼层
回复【楼主位】luofeng:
--------------------------------
谢谢老师,那唤醒之后,程序是应该在while(1)里面?
回复 支持 反对

使用道具 举报

18

主题

46

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
316
金钱
316
注册时间
2014-2-4
在线时间
9 小时
发表于 2014-3-1 12:43:46 | 显示全部楼层
WKUP_Init();应该放在LCD_Init();前面
不然每次唤醒后屏幕都会显示一会LCD
选择了就别再后悔
回复 支持 反对

使用道具 举报

13

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
375
金钱
375
注册时间
2013-12-12
在线时间
13 小时
 楼主| 发表于 2014-3-1 15:44:33 | 显示全部楼层
回复【4楼】LLS:
---------------------------------
我就是要让它显示啊,现在的问题是显示的时候颜色就变了!!
回复 支持 反对

使用道具 举报

4

主题

116

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2013-7-24
在线时间
13 小时
发表于 2014-3-1 18:35:53 | 显示全部楼层
我也是这种情况= =
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-3-1 21:57:32 | 显示全部楼层
因为LCD没有硬复位,所以。。。
要待机唤醒,设计的时候,把LCD的RST接到STM32 的IO上面,控制LCD硬复位。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

13

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
375
金钱
375
注册时间
2013-12-12
在线时间
13 小时
 楼主| 发表于 2014-3-1 23:09:39 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
谢原子哥回复,原来是这样?  貌似变颜色还挺有规律的,一般白色会变黑色,这其中有什么奥秘呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-3-2 00:42:48 | 显示全部楼层
回复【8楼】luofeng:
---------------------------------
这还真没规律可循。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 19:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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