用STM32驱动160160液晶,将液晶的D0-D7数据线定义到GPIOE的低8位上,如下
#define LCD160160_DATA GPIOE->ODR;
液晶的另外2个控制引脚RS和WR定义到GPIOE的Pin8和Pin9上,如下
#define RS_H() GPIOE->BSRR = GPIO_Pin_8
#define RS_L() GPIOE->BRR = GPIO_Pin_8
#define WR_H() GPIOE->BSRR = GPIO_Pin_9
#define WR_L() GPIOE->BRR = GPIO_Pin_9
在对液晶的配置中,需要向寄存器写入命令和数据,因为D0-D7在GPIOE的低8位上,所以我数据和命令在口线上的赋值如下
LCD160160_DATA = cmd;
LCD160160_DATA = data;
其中cmd和data都是单字节数据,即8位数据
上述方式会影响到GPIOE的Pin8和Pin9的状态吗。因为现在驱动液晶始终不能显示内容,不知道这样赋值是不是会改变其他口线上的状态,也就等于影响了RS和WR的高低,从而使显示不正常。
感觉你的程序是有问题的,起码 设置关系逻辑上 就有问题。
你的接口应该是输出接口,但你rs和wr高低位 逻辑感觉是输入端口的设置。