Petalinux2018.3でキャラクタLCD制御(ST7032i) の履歴(No.4)
更新- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 電気回路/zynq/Petalinux2018.3でキャラクタLCD制御(ST7032i) へ行く。
電気回路/zynq/Petalinux2018.3環境を整える
I2C 経由で繋いだキャラクタ型の液晶ディスプレイ(LCD)を制御する†
繋いだのはこれ digikey:NHD-C0216CIZ-FSW-FBW-3V3-ND
16 文字 x 2 行 で白色バックライト付きの LCD
付属の PDF だけだといろいろ情報が足りなくて困るのだけれど、 どうやらこの LCD には ST7032i という有名なコントローラが載っているらしいので、 このキーワードで検索すればいろいろと情報が得られる。
環境†
作業履歴 のように Petalinux 2018.3 を基本として作業しています。
LCD は i2c-1 に繋がっているはず。
Petalinux は i2c-1 を認識して dtb に反映してくれています。
Zynq 機器で動作する Ubuntu 18.04LTC のコンソールで、
LANG:console $ less /boot/system.dts ... i2c1: i2c@e0005000 { compatible = "cdns,i2c-r1p10"; status = "disabled"; clocks = <&clkc 39>; interrupt-parent = <&intc>; interrupts = <0 48 4>; reg = <0xe0005000 0x1000>; #address-cells = <1>; #size-cells = <0>; }; ... $ sudo grep i2c /var/log/syslog Jan 28 15:58:20 zturn2018_3 kernel: i2c /dev entries driver Jan 28 15:58:20 zturn2018_3 kernel: cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 24 Jan 28 15:58:20 zturn2018_3 kernel: cdns-i2c e0005000.i2c: 400 kHz mmio e0005000 irq 25 $ ls -l /dev | grep i2c crw------- 1 root root 89, 0 1月 28 15:58 i2c-0 crw------- 1 root root 89, 1 1月 28 15:58 i2c-1
ちゃんと 400kHz クロックになっている。
まずはリセットピンを制御可能にする†
LCD との通信†
LCD のアドレスは 0x7c だそうで、
$ mkdir lcd-control $ cd lcd-control $ git init $ jed lcd-control.c
Counter: 3956 (from 2010/06/03),
today: 3,
yesterday: 0