DUO-GL128-PIC24Fでは、グラフィックLCDの制御に多くの信号線を必要とする一方で、28ピンのPIC24Fでは使える信号線の数が限られているため、グラフィックLCDのデータ線と、スイッチの信号線を兼用する様に設計されています。このため、スイッチが接続されている信号線を単純に読むだけでは、グラフィックLCDのデータと混線してしまうという問題があります。
DUO-GL128-PIC24F用のPICSYSでは、このような問題が生じない様にシステム側で処理したスイッチのデータを読み出すための仮想スイッチを、VSW(n)の様な形式で指定して読み出せる様にしています。
swled1.c: スイッチとLED
#include "picsys24.h"
void setup()
{
GLCD_initDefault() ;
}
void loop()
{
if (digitalRead(VSW(0)) == LOW)
digitalWrite(LED1, LOW) ;
else
digitalWrite(LED1, HIGH) ;
}
swled2.c: スイッチとLED
#include "picsys24.h"
void setup()
{
GLCD_initDefault() ;
}
void loop()
{
delayicroseconds(100) ;
digitalWrite(LED1, digitalRead(VSW(0))) ;
}