新手上路
- 积分
- 21
- 金钱
- 21
- 注册时间
- 2016-4-11
- 在线时间
- 2 小时
|
1金钱
lcd1602读忙始终返回1,可正常驱动显示,求大神看看
#define LCD_RS PEout(0)
#define LCD_RW PEout(1)
#define LCD_EN PEout(2)
void LCD1602_Init(void)
{
GPIO_InitTypeDef GPIOInitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOE,ENABLE);
GPIOInitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
GPIOInitStruct.GPIO_Pin=0x00ff;
GPIOInitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIOInitStruct);
GPIOInitStruct.GPIO_Pin=0x0007;
GPIO_Init(GPIOE,&GPIOInitStruct);
LCD1602_Cmd(0x38);
LCD1602_Cmd(0x0c);
LCD1602_Cmd(0x06);
LCD1602_Cmd(0x01);
LCD1602_Cmd(0x80);
}
void LCD1602_Write(u8 data,u8 cmd)
{
LCD_EN=0;
LCD_RS=cmd;
LCD_RW=0;
GPIOC->ODR=data;
delay_ms(2);
LCD_EN=1;
delay_ms(5);
LCD_EN=0;
}
u8 LCD1602_Buzy(void)
{
LCD_RS=0;
LCD_RW=1;
LCD_EN=1;
delay_ms(5);
return (GPIOC->IDR&0x80);
}
|
|