新手上路
- 积分
- 38
- 金钱
- 38
- 注册时间
- 2014-3-18
- 在线时间
- 0 小时
|
5金钱
教程里面CS 和RS管脚是PG12和PG0,但是我的芯片是VCT6的没有这么多管脚,
所以我用了PD7(CS)和PD11(RS),所以使用的是FSMC_Bank1_NORSRAM1,FSMC_A16;
背光由PB0改为了PC7.
以下是对于管脚的修改
原代码
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //PB0 ???ì???? ±???
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //???ì????
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
改为:
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //LCD-PWM ±???
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
//////////////////////////////////////////////////////////////////////////////////////////////////////
原代码
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_12; // //PORTD???????ì????
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //???????ì????
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOG, &GPIO_InitStructure);
改为
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);
//////////////////////////////////////////////////////////////////////////////////////
以下是对地址的修改
#define LCD_BASE ((u32)(0x6C000000 | 0x000007FE))
改为
#define LCD_BASE ((u32)(0x60000000 | 0x0001FFFE))
/////////////////////////////////////////////////////////////////////////
还有
#define LCD_LED PBout(0) //LCD±??? PB0
改为
#define LCD_LED PCout(7) //LCD±??? PC7
///////////////////////////////////////////////////////////////////////
还有FSMC函数里面的修改
FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;
修改为
FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;
////////////////////////////////////////////
最后是
FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE);
修改为
FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);
除此之外其他代码没有修改,但是程序烧进去之后一直是白屏。
用这个代码我把驱动ID打印到串口,测试我的屏幕驱动是9341。
论坛上我看到过一篇帖子,问题相似,但是他说修改了RS和CS管脚为推挽输出就可以了,
但是我的还是不行 ,所以发此贴还请各位帮忙解答下,万分感谢!!!!!!!!!!
|
|