搜索
bottom↓
回复: 8

求助 液晶初始化界面正常,不停刷新界面显示异常

[复制链接]

出0入0汤圆

发表于 2019-12-2 17:41:22 | 显示全部楼层 |阅读模式


int main(void)
{
  uint8  i;
  Stm32_Clock_Init();  // 时钟初始化
  delay_init();  // 延时初始化
  LCD_init();  //  初始化液晶
  gui_init(); //  初始化界面
   
  while(1)
  {
    for(i=1;i<ADDR_MAX+1;i++)
    {
      reflash_cursor(i);   // 刷新界面
      //delay_ms(10);  
    }
  } // end while(1)
}

说明一下,共23组数据     reflash_cursor( ); 就是刷新游标,刷新游标大致就是:把界面还原(直接画线或画点,没有读取液晶数据),然后画新的游标,现在测试过程中,数据一直保持不变(也就是游标位置不变)。

现在问题来了   初始化界面也调用过   reflash_cursor( );  界面很正常,但是进入循环不停刷新游标时,必须延时10ms才再次调用该函数,否则就出现如图圆圈所示的情况。如果没有延时,设置断点执行会恢复正常,但是全速运行又会出问题。
液晶驱动IC是 ILI9486   但觉得跟液晶本身或者驱动时序没有关系,否则界面初始化时已经出问题,不需要等到循环执行。

  FSMC参数配置
  //操作BCR寄存器  使用异步模式
  FSMC_Bank1->BTCR[0]|=1<<12;  //存储器写使能
  FSMC_Bank1->BTCR[0]|=1<<14;  //读写使用不同的时序
  FSMC_Bank1->BTCR[0]|=1<<4;   //存储器数据宽度为16bit
  //操作BTR寄存器  
  //读时序控制寄存器
  FSMC_Bank1->BTCR[1]|=0<<28;  //模式A
  FSMC_Bank1->BTCR[1]|=15<<0;  //15<<0; 地址建立时间(ADDSET)为15个HCLK 1/168M=6ns*15=90ns
  FSMC_Bank1->BTCR[1]|=60<<8;  //60<<8; 数据保存时间(DATAST)为60个HCLK  =6*60=360ns
  //写时序控制寄存器     
  FSMC_Bank1E->BWTR[0]|=0<<28; //模式A
  FSMC_Bank1E->BWTR[0]|=4<<0;  //9<<0; 地址建立时间(ADDSET)为9个HCLK=54ns 某些IC写信号脉宽最少50ns。
  FSMC_Bank1E->BWTR[0]|=3<<8;  //8<<8; 数据保存时间(DATAST)为6ns*9个HCLK=54ns
  //使能BANK1,区域4
  FSMC_Bank1->BTCR[0]|=1<<0;   //使能BANK1,区域4


大家遇过类似问题没有,一般是哪方面问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入442汤圆

发表于 2019-12-2 23:00:50 来自手机 | 显示全部楼层
正常,看你的圈是lcd刷新时读到的数据不是最新的造成的。

出0入0汤圆

 楼主| 发表于 2019-12-3 07:32:47 | 显示全部楼层
wye11083 发表于 2019-12-2 23:00
正常,看你的圈是lcd刷新时读到的数据不是最新的造成的。

刷新游标大致就是:把界面还原(直接画线或画点,没有读取液晶数据)
------------------------
我没有读取液晶数据   

出100入85汤圆

发表于 2019-12-3 09:40:52 | 显示全部楼层
会不会刷太快了

出0入0汤圆

 楼主| 发表于 2019-12-7 08:54:31 | 显示全部楼层
顶一下帖子

出0入0汤圆

 楼主| 发表于 2019-12-8 12:42:17 | 显示全部楼层
最后一次顶贴,不行只能先曲线救国了

出0入0汤圆

发表于 2019-12-8 14:38:34 | 显示全部楼层
遇到过老一点TFT 屏晶振频率高的显示不正常,换成低频率的就正常了,新出的tft屏就没这问题了。

出0入0汤圆

 楼主| 发表于 2019-12-8 16:32:38 | 显示全部楼层
lylm123 发表于 2019-12-8 14:38
遇到过老一点TFT 屏晶振频率高的显示不正常,换成低频率的就正常了,新出的tft屏就没这问题了。 ...

哪个晶振频率?我这个是手机那种液晶模块,调整过驱动时序,延长时间,但还是那样

出0入0汤圆

发表于 2019-12-8 19:59:12 | 显示全部楼层
可能我没说清楚,我用的是stc单片机,22.1184M的晶振就显示不正常了,换成11.0592的就ok了,新出的tft屏,就不存在这个问题。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-9-28 15:24

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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