本帖最后由 fjjjnk1234 于 2015-2-1 21:31 编辑
调试了几天,终于调试好了LCD的驱动程序,感觉引脚分配也是挺麻烦的事,通过几天的调试,明白了引脚分配的时候要特别注意引脚的默认功能。驱动程序参考了原子的程序。 GPIO初始化函数: LCD_D[15:0]对应PC[15:0] - //******************************************************************
- //函数名: LCD_GPIOInit
- //功能: GPIO初始化
- //输入参数:无
- //返回值: 无
- //PB0:片选端口CS PB1:数据/命令RS
- //PB5:背光 PB12:WR
- //PB13:RD PB14:RST
- //******************************************************************
- void LCD_GPIOInit(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
-
- RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC, ENABLE);
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_5 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
- GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
- GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
- GPIO_Init(GPIOB, &GPIO_InitStructure);
-
- GPIO_SetBits(GPIOB, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_5 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14);
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
- GPIO_Init(GPIOC, &GPIO_InitStructure);
- GPIO_SetBits(GPIOC, GPIO_Pin_All);
- }
完整程序有需要的朋友可以下载附件:
LCD_Display.rar
(452.94 KB, 下载次数: 129)
|