新手上路
- 积分
- 31
- 金钱
- 31
- 注册时间
- 2016-4-29
- 在线时间
- 5 小时
|
1金钱
我修改的原子的代码驱动ILI9320,但是一直白屏!!!!!
端口连接:
PD14 -----FSMC_D0 ----D0
PD15 -----FSMC_D1 ----D1
PD0 -----FSMC_D2 ----D2
PD1 -----FSMC_D3 ----D3
PE7 -----FSMC_D4 ---D4
PE8 -----FSMC_D5 ---D5
PE9 -----FSMC_D6 ---D6
PE10 -----FSMC_D7 ----D7
PE11 -----FSMC_D8 ----D8
PE12 -----FSMC_D9 ----D9
PE13 -----FSMC_D10 ----D10
PE14 -----FSMC_D11 ----D11
PE15 -----FSMC_D12 ----D12
PD8 -----FSMC_D13 ----D13
PD9 -----FSMC_D14 ----D14
PD10 -----FSMC_D15 ----D15
PD4 -----FSMC_NOE -----RD
PD5 -----FSMC_NWE ----WR
PD7 -----FSMC_NE1 ----CS
PE3 -----FSMC_A19 ----RS
PB15 ------背光---------BL
Reset 未接
部分修改代码:
//GPIO初始化
GPIO_InitTypeDef GPIO_InitStructure;
FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure;
FSMC_NORSRAMTimingInitTypeDef readWriteTiming;
FSMC_NORSRAMTimingInitTypeDef writeTiming;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE|RCC_AHB1Periph_GPIOF|RCC_AHB1Periph_GPIOG, ENABLE);//ʹÄÜ D,PE,PF,PGʱÖÓ
RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMC,ENABLE);//ʹÄÜFSMCʱÖÓ
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;//PB15 ÍÆÍìÊä³ö,¿ØÖƱ³¹â
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//ÆÕͨÊä³öģʽ
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//ÍÆÍìÊä³ö
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//ÉÏÀ­
GPIO_Init(GPIOB, &GPIO_InitStructure);//³õʼ»¯ //PB15 ÍÆÍìÊä³ö,¿ØÖƱ³¹â
GPIO_InitStructure.GPIO_Pin = (3<<0)|(3<<4)|(7<<8)|(3<<14);//PD0,1,4,5,8,9,10,14,15 AF OUT
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//¸´ÓÃÊä³ö
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//ÍÆÍìÊä³ö
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//ÉÏÀ­
GPIO_Init(GPIOD, &GPIO_InitStructure);//³õʼ»¯
GPIO_InitStructure.GPIO_Pin = (0X1FF<<7);//PE7~15,AF OUT
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//¸´ÓÃÊä³ö
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//ÍÆÍìÊä³ö
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//ÉÏÀ­
GPIO_Init(GPIOE, &GPIO_InitStructure);//³õʼ»¯
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;//PF12,FSMC_A6 // PD11 FSMC_A16
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//¸´ÓÃÊä³ö
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//ÍÆÍìÊä³ö
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//ÉÏÀ­
GPIO_Init(GPIOE, &GPIO_InitStructure);//³õʼ»¯
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;//PF12,FSMC_A6 //PD7 FSMC_NE1
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//¸´ÓÃÊä³ö
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//ÍÆÍìÊä³ö
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//ÉÏÀ­
GPIO_Init(GPIOD, &GPIO_InitStructure);//³õʼ»¯
GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_FSMC);//PD0,AF12
GPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_FSMC);//PD1,AF12
GPIO_PinAFConfig(GPIOD,GPIO_PinSource4,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOD,GPIO_PinSource5,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOD,GPIO_PinSource8,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOD,GPIO_PinSource9,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOD,GPIO_PinSource10,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOD,GPIO_PinSource14,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOD,GPIO_PinSource15,GPIO_AF_FSMC);//PD15,AF12
GPIO_PinAFConfig(GPIOE,GPIO_PinSource7,GPIO_AF_FSMC);//PE7,AF12
GPIO_PinAFConfig(GPIOE,GPIO_PinSource8,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOE,GPIO_PinSource9,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOE,GPIO_PinSource10,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOE,GPIO_PinSource11,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOE,GPIO_PinSource12,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOE,GPIO_PinSource13,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOE,GPIO_PinSource14,GPIO_AF_FSMC);
GPIO_PinAFConfig(GPIOE,GPIO_PinSource15,GPIO_AF_FSMC);//PE15,AF12
GPIO_PinAFConfig(GPIOE,GPIO_PinSource3,GPIO_AF_FSMC);//PF12,AF12
GPIO_PinAFConfig(GPIOD,GPIO_PinSource7,GPIO_AF_FSMC);
readWriteTiming.FSMC_AddressSetupTime = 0XF; //µØÖ·½¨Á¢Ê±¼ä£¨ADDSET£©Îª16¸öHCLK 1/168M=6ns*16=96ns
readWriteTiming.FSMC_AddressHoldTime = 0x00; //µØÖ·±£³Öʱ¼ä£¨ADDHLD£©Ä£Ê½AδÓõ½
readWriteTiming.FSMC_DataSetupTime = 60; //Êý¾Ý±£´æʱ¼äΪ60¸öHCLK =6*60=360ns
readWriteTiming.FSMC_BusTurnAroundDuration = 0x00;
readWriteTiming.FSMC_CLKDivision = 0x00;
readWriteTiming.FSMC_DataLatency = 0x00;
readWriteTiming.FSMC_AccessMode = FSMC_AccessMode_A; //ģʽA
writeTiming.FSMC_AddressSetupTime =9; //µØÖ·½¨Á¢Ê±¼ä£¨ADDSET£©Îª9¸öHCLK =54ns
writeTiming.FSMC_AddressHoldTime = 0x00; //µØÖ·±£³Öʱ¼ä£¨A
writeTiming.FSMC_DataSetupTime = 8; //Êý¾Ý±£´æʱ¼äΪ6ns*9¸öHCLK=54ns
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_NORSRAM1;// ÕâÀïÎÒÃÇʹÓÃNE4 £¬Ò²¾Í¶ÔÓ¦BTCR[6],[7]¡£
FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; // ²»¸´ÓÃÊý¾ÝµØÖ·
FSMC_NORSRAMInitStructure.FSMC_MemoryType =FSMC_MemoryType_SRAM;// FSMC_MemoryType_SRAM; //SRAM
FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;//´æ´¢Æ÷Êý¾Ý¿í¶ÈΪ16bit
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; // ´æ´¢Æ÷дʹÄÜ
FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Enable; // ¶ÁдʹÓò»Í¬µÄʱÐò
FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &readWriteTiming; //¶ÁдʱÐò
FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &writeTiming; //дʱÐò
FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); //³õʼ»¯FSMCÅäÖÃ
FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE); // ʹÄÜBANK1
//------------------
//////////////////////////////////////////////////////////////////////////////////
//-----------------LCD¶Ë¿Ú¶¨Òå----------------
#define LCD_LED PBout(15) //LCD±³¹â PB15
//LCDµØÖ·½á¹¹Ìå
typedef struct
{
vu16 LCD_REG;
vu16 LCD_RAM;
} LCD_TypeDef;
//ʹÓÃNOR/SRAMµÄ Bank1.sector4,µØַλHADDR[27,26]=11 A6×÷ΪÊý¾ÝÃüÁîÇø·ÖÏß
//×¢ÒâÉèÖÃʱSTM32ÄÚ²¿»áÓÒÒÆһλ¶ÔÆä! 111 1110=0X7E
#define LCD_BASE ((u32)(0x60000000 | 0x0007FFFE))
#define LCD ((LCD_TypeDef *) LCD_BASE)
//////////////////////////////////////////////////////////////////////////////////
|
|