No matter how to operate the write back ID9488 D3 name this is normal and then initializes a bunch of code finally set up a blue screen, but actually does not have any reaction, a piece of white, turn to the great god grandpa help, me in the engineering and schematic diagram in the attachment,
Adjustment for 4 days, I'm blue in the face, is don't understand, sure no problem on welding, the old practice of pulling the hand welding is not white,
Void LCD_Init (void)
{
Under-16 I;
GPIO_InitTypeDef GPIO_InitStructure;
FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure;
FSMC_NORSRAMTimingInitTypeDef readWriteTiming;
FSMC_NORSRAMTimingInitTypeDef writeTiming;
RCC - & gt; AHBENR |=1 & lt; <8;//?? The FSMC??
RCC - & gt; APB2ENR |=1 & lt; <0;//?? PORTB??
RCC - & gt; APB2ENR |=1 & lt; <3;//?? PORTB??
RCC - & gt; APB2ENR |=1 & lt; <5;//?? PORTD??
RCC - & gt; APB2ENR |=1 & lt; <6;//?? PORTE??
RCC_AHBPeriphClockCmd (RCC_AHBPeriph_FSMC, ENABLE);//can make FSMC clock
RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOB, ENABLE | RCC_APB2Periph_AFIO);//can make PORTB, D, E, G, and clock AFIO multiplexing function
GPIO_InitStructure. GPIO_Pin=GPIO_Pin_8 | GPIO_Pin_11 | GPIO_Pin_12;//PB0 push-pull output backlight
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//push-pull output
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init (GPIOA, & amp; GPIO_InitStructure);
GPIO_InitStructure. GPIO_Pin=GPIO_Pin_3;//PB0 push-pull output backlight
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//push-pull output
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init (GPIOD, & amp; GPIO_InitStructure);
//PORTD reuse push-pull output
GPIO_InitStructure. GPIO_Pin=GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;////PORTD multiplexing push-pull output
GPIO_InitStructure. GPIO_Mode=GPIO_Mode_AF_PP;//multiplexing push-pull output
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init (GPIOD, & amp; GPIO_InitStructure);
//PORTE reuse push-pull output
GPIO_InitStructure. GPIO_Pin=GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;////PORTD multiplexing push-pull output
GPIO_InitStructure. GPIO_Mode=GPIO_Mode_AF_PP;//multiplexing push-pull output
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init (GPIOE, & amp; GPIO_InitStructure);
//////PORTG12 reuse push-pull output A0
//GPIO_InitStructure GPIO_Pin=GPIO_Pin_0 | GPIO_Pin_12;////PORTD multiplexing push-pull output
//GPIO_InitStructure. GPIO_Mode=GPIO_Mode_AF_PP;//multiplexing push-pull output
//GPIO_InitStructure. GPIO_Speed=GPIO_Speed_50MHz;
//GPIO_Init (GPIOG, & amp; GPIO_InitStructure);
ReadWriteTiming. FSMC_AddressSetupTime=0 x01;//address setup time (ADDSET) for 2 m=1/36 HCLK 27 ns
ReadWriteTiming. FSMC_AddressHoldTime=0 x00;//address to keep time (ADDHLD) model does not use A
ReadWriteTiming. FSMC_DataSetupTime=0 xf;//data save time for 16 HCLK, because of the LCD driver IC reading data, speed too fast, especially for the IC 1289,
ReadWriteTiming. FSMC_BusTurnAroundDuration=0 x00;
ReadWriteTiming. FSMC_CLKDivision=0 x00;
ReadWriteTiming. FSMC_DataLatency=0 x00;
ReadWriteTiming. FSMC_AccessMode=FSMC_AccessMode_A;//model A
WriteTiming. FSMC_AddressSetupTime=0 x00;//address setup time (ADDSET) for a HCLK
WriteTiming. FSMC_AddressHoldTime=0 x0;//address to keep time (A
WriteTiming. FSMC_DataSetupTime=0 x3;////data save time for four HCLK
WriteTiming. FSMC_BusTurnAroundDuration=0 x00;
WriteTiming. FSMC_CLKDivision=0 x00;
WriteTiming. FSMC_DataLatency=0 x00;
WriteTiming. FSMC_AccessMode=FSMC_AccessMode_A;//model A
FSMC_NORSRAMInitStructure. FSMC_Bank=FSMC_LCD_BACKx;//here we use NE4, also corresponding BTCR [6], [7],
FSMC_NORSRAMInitStructure. FSMC_DataAddressMux=FSMC_DataAddressMux_Disable;//not reuse data address
FSMC_NORSRAMInitStructure. FSMC_MemoryType=FSMC_MemoryType_SRAM;//FSMC_MemoryType_SRAM;//an SRAM
FSMC_NORSRAMInitStructure. FSMC_MemoryDataWidth=FSMC_MemoryDataWidth_16b;//the memory data width is 16 bit
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;//memory write enabled
FSMC_NORSRAMInitStructure. FSMC_WaitSignal=FSMC_WaitSignal_Disable;
FSMC_NORSRAMInitStructure. FSMC_ExtendedMode=FSMC_ExtendedMode_Enable;//to read and write using different temporal
FSMC_NORSRAMInitStructure. FSMC_WriteBurst=FSMC_WriteBurst_Disable;
FSMC_NORSRAMInitStructure. FSMC_ReadWriteTimingStruct=& amp; ReadWriteTiming;//read/write sequence
FSMC_NORSRAMInitStructure. FSMC_WriteTimingStruct=& amp; WriteTiming;//write sequence
FSMC_NORSRAMInit (& amp; FSMC_NORSRAMInitStructure);//initialize the FSMC configuration
nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull