每次开机都要校准显示屏吗?

不, 校准应至少进行一次(制造/首次使用),之后可将校准值存储到内部非易失性存储器中,以便在随后的开机过程中使用,如下例所示。

// 如果 EEPROM 以字节 0x7c 开始,那么它已经保存了

// 24 字节触摸屏校准值。

如果 (istouch() || (EEPROM.read(0) != 0x7c)) {

blank();

while (istouch())

;

VC.wr(REG_PWM_DUTY, 128);

MEMCMD(start_clear);

VC.cmd_text(screen.w/2, screen.h/2, 28, OPT_CENTERX|OPT_CENTERY, “please tap on the dot”);

BLK_START

CMD_CALIBRATE,

0

BLK_END

VC.waitidle();

for (int i = 0; i < 24; i++)

EEPROM.write(1 + i, VC.rd(REG_TOUCH_TRANSFORM_A + i));

EEPROM.write(0, 0x7c); // is written!

}

else {

for (int i = 0; i < 24; i++)

VC.wr(REG_TOUCH_TRANSFORM_A + i, EEPROM.read(1 + i));

}