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

解决stm32驱动LCD1602A时不显示第二行的问题_第1张图片

根据这个教程,用仿真测试可以成功,但实际上上真机只显示第一行。

考虑到可能是电压的问题,我外接的是和stm32一样的3.3v,但实际上lcd的额定电压是5v,于是换为5V,结果变这样了:

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

你可能感兴趣的:(stm32,嵌入式硬件,单片机)