ACM162NIの命令について調べていましたが,何となく理解できましたが,カーソルの移動について,いま
いちでしたが,またまた諸兄のHPにて理解が進みました。ACM1602NIの制御では,
COMMMANDを送るときは,0X00 を送信して,
data を送るときは,0x80を送信します。
マニュアルを読んでいるとDDRAMのアドレスを送ればいいとありましたが,その方法がわかりませんでした。
それぞれアドレスが表示位置をあらわしていますので,1行目の3文字めにカーソルを移動するには,
0x80+0x02
を送ってやればいいようです。このことを諸兄のHPのサブルーチンを見ていてやっと理解できました。
スケッチでは,orをとって実現すればいいようです。諸兄のHPにはサブルーチンが下記のようにありました。
void setCursor(byte col, byte row)
{
byte row_offsets[] = { 0x00, 0x40 };
if ( row > 1 ) {
row = 1;
}
writeCmd( 0x80 | (col + row_offsets[row]) );
}
ACM1602NIの制御を理解するのに,熊谷研修室というHPが役にたちました。