w1179benp 发表于 2019-5-23 20:40 LCD能正常显示,但是加上DS18B20之后,温度没法正常显示出来,脉冲计数也是 |
建议:先单写很“干净”的LCD驱动部分,显示正常了,再一个一个增加其它部分。出问题便于检查 |
w1179benp 发表于 2019-5-21 11:04 void LCD1602_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC,ENABLE);//使能PB,PD端口时钟 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_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //开漏输出模式 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOC, & GPIO_InitStructure); //初始化GPIOC0~7 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出模式 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOB, & GPIO_InitStructure); //初始化GPIB10,11,12 } 改成这样还是不能显示 |
感觉LCD1602的数据口和控制口应该用不同的端口,否则在赋予数据或命令时,控制端的状态就不在所需状态了 |