OpenEdv-开源电子网

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

TFTLCD上电后抖动两三下,之后正常,求助

[复制链接]

8

主题

27

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-12-26
在线时间
15 小时
发表于 2016-12-26 21:53:59 | 显示全部楼层 |阅读模式
6金钱
战舰开发板,显示屏是2.8寸9341.我用的是实验13里的程序。每当程序执行完void LCD_Clear(u16 Color)或者void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)或者其他显示函数后,屏幕都会出现抖动,抖动两三下之后就好了。资料里的实验13的程序,也会出现这种情况,把main()简单修改后就非常明显,每次上电都抖动。换成4.3寸的屏也是这样。有开发板的同学可以试一下,请大家指点,谢谢。 int main(void)
{         
        u8 x=0;
        u8 lcd_id[12];                        //存放LCD ID字符串
        delay_init();                     //延时函数初始化          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
        uart_init(115200);                 //串口初始化为115200
        LED_Init();                             //LED端口初始化
        LCD_Init();
        POINT_COLOR=RED;
        sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//将LCD ID打印到lcd_id数组。                                        
           
                LCD_Clear(BLACK);
                POINT_COLOR=RED;          
                LCD_ShowString(30,40,210,24,24,"WarShip STM32 ^_^");
                LCD_ShowString(30,70,200,16,16,"TFTLCD TEST");
                LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
                LCD_ShowString(30,110,200,16,16,lcd_id);                //显示LCD ID
                LCD_ShowString(30,130,200,12,12,"2014/5/4");                     
         
}



最佳答案

查看完整内容[请看2#楼]

就是一键下载电路引起的。 你USB插侧面的USB口,就不会有这个问题了。 我们教程明确写了啊。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-12-26 21:54:00 | 显示全部楼层
北戴河长春 发表于 2016-12-27 09:35
不是一键下载电路引起的

就是一键下载电路引起的。
你USB插侧面的USB口,就不会有这个问题了。
我们教程明确写了啊。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

8

主题

27

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-12-26
在线时间
15 小时
 楼主| 发表于 2016-12-27 08:47:15 | 显示全部楼层
复位也是这种现象
回复

使用道具 举报

8

主题

27

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-12-26
在线时间
15 小时
 楼主| 发表于 2016-12-27 08:58:11 | 显示全部楼层
用示波器看了,是片选CS在抖动,导致闪屏
回复

使用道具 举报

23

主题

323

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1010
金钱
1010
注册时间
2016-11-8
在线时间
233 小时
发表于 2016-12-27 09:22:53 | 显示全部楼层
北戴河长春 发表于 2016-12-27 08:58
用示波器看了,是片选CS在抖动,导致闪屏

我的也是,记得配套视频里有说怎么回事,不过找不到了。。。顶顶,求解答
亦余心之所善,
虽九死其犹未悔。
回复

使用道具 举报

8

主题

27

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-12-26
在线时间
15 小时
 楼主| 发表于 2016-12-27 09:34:58 | 显示全部楼层
我有测量了reset信号,复位的时候并不抖动
回复

使用道具 举报

8

主题

27

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-12-26
在线时间
15 小时
 楼主| 发表于 2016-12-27 09:35:27 | 显示全部楼层
不是一键下载电路引起的
回复

使用道具 举报

8

主题

27

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-12-26
在线时间
15 小时
 楼主| 发表于 2016-12-27 09:37:39 | 显示全部楼层
我有简单改了一下main(),这个现象就更诡异了

int main(void)
{         
        u8 x=0;
        u8 lcd_id[12];                        //存放LCD ID字符串
        delay_init();                     //延时函数初始化          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
        uart_init(115200);                 //串口初始化为115200
        LED_Init();                             //LED端口初始化
        LCD_Init();
        POINT_COLOR=RED;
        sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//将LCD ID打印到lcd_id数组。                                        
           
                LCD_Clear(BLACK);
                POINT_COLOR=RED;          
                LCD_ShowString(30,40,210,24,24,"WarShip STM32 ^_^");
                LCD_ShowString(30,70,200,16,16,"TFTLCD TEST");
                LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
                LCD_ShowString(30,110,200,16,16,lcd_id);                //显示LCD ID
         delay_ms(100000);
                LCD_ShowString(30,130,200,12,12,"2014/5/4");                     
         
}


回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-29 07:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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