c - Raspberry Pi - 通过 PCF8574 IOExpander 连接基于 HD44780 的 20x4 LCD

标签 c raspberry-pi

感谢 ufux,我的上述设置在 Python 中运行良好。 https://gist.github.com/ufux/6094977

但是我希望在 C 中实现同样的功能。我对 C 编程还很陌生。你们能帮我完成这件事吗?我尝试编写一些 C 代码。我用过wiringPi library因为我认为这会更容易。

我无法让它工作。 Code I had written so far is here.

即使我也无法让 LCD 初始化工作。有人可以帮助我让这个工作吗?提前致谢。

更新

所有问题均已修复,树莓派的完整基于 C 的库(通过 PCF8574 驱动 HD44780)是 here .

最佳答案

锁存命令“lcd_probe”未按 HD44780 的要求调用。旧代码没有正确实现此功能。

通过正确调用这些命令,LCD 开始工作。

我添加了更多功能,例如处理信号 SIGINT(=键盘上的 Ctrl + c)。

感谢@leppie,我被鼓励回顾代码并找出问题。 :-)

更新: 我写了一个基于 C++ 的库,甚至可以被 Python 使用。下载并尝试一下。 https://github.com/karunadheera/lcdpcf8574

关于c - Raspberry Pi - 通过 PCF8574 IOExpander 连接基于 HD44780 的 20x4 LCD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19892426/

相关文章:

C题: single dereference on a void** double indirection pointer

c++ - 具有虚拟文件系统的 c 预处理器

c - 读取进程的内存

c++ - 为什么 GCC 似乎没有文件系统标准库?

C 将十进制 scanf 输入转换为二进制数组

c# - 在 raspbian 上用 mono 执行 shell 命令

c - 将结构体指针从一个函数传递到另一个函数

c - Makefile 只执行一次命令

c++ - Raspberry Pi 和 I2C in c++ with wiringPi for PCF8591

sdl - 如何在 Raspberry Pi 上使用 dispmanx 创建透明窗口?