OpenEdv-开源电子网

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

stm32 fsmc 驱动屏电路问题?

[复制链接]

12

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2011-7-24
在线时间
37 小时
发表于 2015-12-18 10:11:20 | 显示全部楼层 |阅读模式
5金钱
小弟最近做了一个板,用FSMC驱动TFT屏,什么驱动也点不亮,用的是工厂的代码,连ID也读不到,
后来,改驱动一个240160的屏(像常用的12864的屏),也点不亮,用逻辑分析能看到有数据出来,
现在我怀疑板子是不是有问题,因为我在FSMC接口电路到TFT那里都接22欧的电阻,是不是这个方
面的原因?请各位大神帮忙看看,搞了好久!!

这是STM32F103VC

这是屏到STM32的接口。
这个是我用分仪抓到的波形


这里9486的屏的时序

最佳答案

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

搞定了!REST的错 都没测这个PIN  一测才知道
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2011-7-24
在线时间
37 小时
 楼主| 发表于 2015-12-18 10:11:21 | 显示全部楼层
搞定了!REST的错 都没测这个PIN  一测才知道
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11555
金钱
11555
注册时间
2014-4-1
在线时间
1317 小时
发表于 2015-12-18 11:46:01 | 显示全部楼层
接22欧电阻没有问题,电源线除外。

RS管脚为什么是低?

WR波形也不对,上升沿必须在cs拉低之前出现。
回复

使用道具 举报

12

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2011-7-24
在线时间
37 小时
 楼主| 发表于 2015-12-18 13:13:36 | 显示全部楼层
回复【2楼】xuande:
---------------------------------
RS是0,是写数据。
void LCD_FSMC_Init(void)
{   
  FSMC_NORSRAMInitTypeDef  FSMC_NORSRAMInitStructure;
  FSMC_NORSRAMTimingInitTypeDef  ReadTimer; 
  FSMC_NORSRAMTimingInitTypeDef  WriterTimer; 
  

  
  ReadTimer.FSMC_AddressSetupTime = 0x02;  //???·?¨???±???¨ADDSET????2??HCLK 1/36M=27ns
  ReadTimer.FSMC_AddressHoldTime = 0x00;  //???·±????±???¨ADDHLD??????A??????
  ReadTimer.FSMC_DataSetupTime = 0x05;  // ????±????±????16??HCLK,?ò?????§????IC???????????±?ò?????????????ì????????1289????IC??
  ReadTimer.FSMC_BusTurnAroundDuration = 0x00;
  ReadTimer.FSMC_CLKDivision = 0x00;
  ReadTimer.FSMC_DataLatency = 0x00;
  ReadTimer.FSMC_AccessMode = FSMC_AccessMode_A;  //????A 
  

  WriterTimer.FSMC_AddressSetupTime = 2; //???·?¨???±???¨ADDSET????1??HCLK  
  WriterTimer.FSMC_AddressHoldTime = 0x00;  //???·±????±???¨A
  WriterTimer.FSMC_DataSetupTime =0x05; //????±????±????4??HCLK
  WriterTimer.FSMC_BusTurnAroundDuration = 0x00;
  WriterTimer.FSMC_CLKDivision = 0x00;
  WriterTimer.FSMC_DataLatency = 0x00;
  WriterTimer.FSMC_AccessMode = FSMC_AccessMode_A;  //????A 
    
    
    
  
  FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;
  FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
  //FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;
  FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR;
  FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;//FSMC_MemoryDataWidth_16b;
  FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
  FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
  FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
  FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;

  FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &ReadTimer;
  FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &WriterTimer;  
  
  FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); 
  
  /* ???? FSMC Bank1_SRAM Bank */
  FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);   

}
回复

使用道具 举报

12

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2011-7-24
在线时间
37 小时
 楼主| 发表于 2015-12-18 13:16:50 | 显示全部楼层
#define Bank1_LCD_C    ((uint32_t)0x60000000)         //Disp Reg ADDR
#define Bank1_LCD_D    (Bank1_LCD_C|1<<24)           //Disp Data ADDR       // A23 E2

/*???¨LCD???¨?????÷*/
#define LCD_WR_REG(index)      ((*(__IO uint16_t *) (Bank1_LCD_C)) = ((uint16_t)index))//(*(__IO uint16_t *)
/*?ùLCD GRAM????????*/
#define LCD_WR_Data(val)       ((*(__IO uint16_t *) (Bank1_LCD_D)) = ((uint16_t)(val)))//u16

#define LCD_ILI9486_CMD(index)           LCD_WR_REG(index)
#define LCD_ILI9486_Parameter(val)      LCD_WR_Data(val)






这是与STM32接口,难道这里有错,我查过好多次了,没错!
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11555
金钱
11555
注册时间
2014-4-1
在线时间
1317 小时
发表于 2015-12-18 13:41:26 | 显示全部楼层
把实际波形给清楚,信号名称标注一致,才好判断。
其他话没用。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 09:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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