OpenEdv-开源电子网

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

用STM32F103ZET6的FSMC驱动正点原子的4.3寸TFT电容屏出现花屏

[复制链接]

3

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2017-8-24
在线时间
8 小时
发表于 2017-8-31 17:59:17 | 显示全部楼层 |阅读模式
今天用原子提供的代码尝试了一边FSMC驱动TFT,结果代码走下来之后出现花屏现象。在主函数中初始化之后就一直让它循环蓝屏,但是不知道是什么原因总是花屏,换了颜色还是这样,我不知道是不是清屏函数出现问题,还请各位大神指点

以下是对FSMC的配置代码
  readWriteTiming.FSMC_AddressSetupTime = 0x01;         //μØÖ·½¨á¢ê±¼ä£¨ADDSET£©Îa2¸öHCLK 1/36M=27ns
  readWriteTiming.FSMC_AddressHoldTime = 0x00;         //μØÖ·±£3Ö걼䣨ADDHLD£©Ä£ê½AÎ′óÃμ½       
  readWriteTiming.FSMC_DataSetupTime = 0x0f;                 // êy¾Y½¨á¢ê±¼äÎa16¸öHCLK,òòÎaòo¾§Çy¶ˉICμĶáêy¾YμÄê±oò£¬Ëù¶è2»Äü쫿죬óèÆä¶Ô1289Õa¸öIC¡£
  readWriteTiming.FSMC_BusTurnAroundDuration = 0x00;
  readWriteTiming.FSMC_CLKDivision = 0x00;
  readWriteTiming.FSMC_DataLatency = 0x00;
  readWriteTiming.FSMC_AccessMode = FSMC_AccessMode_A;         //Ä£ê½A


        writeTiming.FSMC_AddressSetupTime = 0x00;         //μØÖ·½¨á¢ê±¼ä£¨ADDSET£©Îa1¸öHCLK  
  writeTiming.FSMC_AddressHoldTime = 0x00;         //μØÖ·±£3Ö걼䣨A               
  writeTiming.FSMC_DataSetupTime = 0x03;                 ////êy¾Y±£′æê±¼äÎa4¸öHCLK       
  writeTiming.FSMC_BusTurnAroundDuration = 0x00;
  writeTiming.FSMC_CLKDivision = 0x00;
  writeTiming.FSMC_DataLatency = 0x00;
  writeTiming.FSMC_AccessMode = FSMC_AccessMode_A;         //Ä£ê½A


  FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;//  ÕaàïÎòÃÇê1óÃNE4 £¬ò2¾í¶Ôó|BTCR[6],[7]¡£
  FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; // 2»¸′óÃêy¾YμØÖ·
  FSMC_NORSRAMInitStructure.FSMC_MemoryType =FSMC_MemoryType_SRAM;// FSMC_MemoryType_SRAM;  //SRAM   
  FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;//′æ′¢Æ÷êy¾Y¿í¶èÎa16bit   
  FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode =FSMC_BurstAccessMode_Disable;// FSMC_BurstAccessMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
        FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait=FSMC_AsynchronousWait_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;   
  FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;  
  FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;        //  ′æ′¢Æ÷D′ê1Äü
  FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;   
  FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Enable; // ¶áD′ê1óÃ2»í¬μÄê±Dò
  FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
  FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &readWriteTiming; //¶áD′ê±Dò
  FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &writeTiming;  //D′ê±Dò

  FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);  //3õê¼»ˉFSMCÅäÖÃ

        FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE);  // ê1ÄüBANK1

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

使用道具 举报

8

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2017-8-23
在线时间
16 小时
发表于 2017-9-1 14:25:02 | 显示全部楼层
应该是你的读写时间没设置好,你将图片中的打箭头的数值增大试试
微信截图_20170901142408.png
因为专注,所以专业!
回复 支持 2 反对 0

使用道具 举报

3

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2017-8-24
在线时间
8 小时
 楼主| 发表于 2017-8-31 19:24:13 | 显示全部楼层
屏幕是正点原子4.3寸的MCU电容屏,480×800分辨率,驱动芯片是5510,但是读取LCD的ID返回的一直是a1a1,结果直接用原子的代码就一直白屏,都没初始化
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2016-1-15
在线时间
11 小时
发表于 2018-7-26 22:24:46 | 显示全部楼层
我使用的是STM32F4驱动的,使用例程代码读取的ID号为0,不知道怎么处理
回复 支持 反对

使用道具 举报

0

主题

22

帖子

0

精华

高级会员

Rank: 4

积分
922
金钱
922
注册时间
2018-4-9
在线时间
76 小时
发表于 2020-2-27 17:43:26 | 显示全部楼层
fengzi2 发表于 2018-7-26 22:24
我使用的是STM32F4驱动的,使用例程代码读取的ID号为0,不知道怎么处理

我的4.3寸的屏,读出来ID也是0,请问你最后是如何解决的
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-25 22:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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