开发板调试显示驱动没问题,所以我只是改了管脚,其他代码都没动,但却出现了刷屏问题!请大神帮忙解决!万分感谢!
现在正常的管脚代码如下:
[mw_shl_code=c,true]/*
*
* PB12 -> RD
* PB13 -> WR
* PB5 -> RS
* PB8 -> RESET
* PB9 -> CS
*
* PA0~PA7 -> D[0..7]
*
* 都设置为 输出
*
*/
/*
*
* LCD 的管脚初始化
*
*/
void LCD_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB,ENABLE);
//配置5个控制端口为输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_5 | GPIO_Pin_8 | GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
//配置8个数据端口为输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | \
GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
GPIO_Init(GPIOA,&GPIO_InitStructure);
}[/mw_shl_code]
修改之后的管脚如下:(显示不正常)因为用到了JTAG引脚,但我板子都打样出来了!
[mw_shl_code=c,true]/*
*
* PA15 -> RD
* PA12 -> WR
* PA11 -> RS
* PA8 -> RESET
* PB15 -> CS
*
* PB2~PB9 -> D[0..7]
*
* 都设置为 输出
*
*/
/*
*
* LCD 的管脚初始化
*
*/
void LCD_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |RCC_APB2Periph_AFIO ,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
//配置5个控制端口为输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_11 | GPIO_Pin_15 | GPIO_Pin_8 ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
//配置8个数据端口为输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_15 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | \
GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_13;
GPIO_Init(GPIOB,&GPIO_InitStructure);
}[/mw_shl_code]
刷屏代码如下:
[mw_shl_code=c,true]void LCD_Init(void)
{
LCD_GPIO_Init();
RES(1);
delay_ms(67);
RES(0);
delay_ms(131);
RES(1);
Delayms(131);
Initial_ILI9163();
Delayms(1500);
display_red();//修改管脚前和修改管脚后的代码都显示红色,但修改管脚后的代码刷屏方向相反
Delayms(1500);
display_green();//修改管脚前和修改管脚后的代码都显示绿色,但修改管脚后的代码刷屏方向相反并且只刷了半屏,剩下一半的屏幕还是红色
Delayms(1500);
display_white();//修改前的代码全屏显示白色,但修改后的代码显示红色,刷屏方向也相反
Delayms(1500);
//
display_blue();//修改前的代码全屏显示蓝色,但修改后的代码显示红色,因上面也是红色,刷屏方向只能估计也是相反的
Delayms(1500);
}[/mw_shl_code]
请大神帮忙解决,万分感谢!
|