解决stm32驱动LCD1602A时不显示第二行的问题-LMLPHP

根据这个教程,用仿真测试可以成功,但实际上上真机只显示第一行。
解决stm32驱动LCD1602A时不显示第二行的问题-LMLPHP
考虑到可能是电压的问题,我外接的是和stm32一样的3.3v,但实际上lcd的额定电压是5v,于是换为5V,结果变这样了:
解决stm32驱动LCD1602A时不显示第二行的问题-LMLPHP
只能恢复电压3.3v,再网上找找,发现:
解决stm32驱动LCD1602A时不显示第二行的问题-LMLPHP
于是尝试了两次0x38:
解决stm32驱动LCD1602A时不显示第二行的问题-LMLPHP
结果变成这样了:
解决stm32驱动LCD1602A时不显示第二行的问题-LMLPHP
仔细看有两行,但不是文字,是淡淡的方块。网上还有人说要发送0x38四次的,都试了,还是没用。对了数据手册,指令确实是0x38,试了别的指令比如光标显示啥的可以,唯独
这个指令不行。正当要放弃的时候,灵机一动,负负得正,既然单纯的5V和两次0x38指令都不行,那么结合起来会怎么样呢?试了试:
解决stm32驱动LCD1602A时不显示第二行的问题-LMLPHP
居然可以了,剩下的只要调整电位器就行,于是调整了下,完美!:
解决stm32驱动LCD1602A时不显示第二行的问题-LMLPHP

10-05 09:05