I2C 接続の LCD AQM1602XA-RN-GBW 用のライブラリの使用例. Demo program of library for LCD 1602XA-RN-GBW connected using I2C interface.

Dependencies:   mbed UIT_AQM1602

Committer:
MikamiUitOpen
Date:
Fri Jun 05 06:45:13 2015 +0000
Revision:
0:e1b05c7eb023
Child:
1:6c838e71e330
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:e1b05c7eb023 1 //------------------------------------------------------------
MikamiUitOpen 0:e1b05c7eb023 2 // Test program for LCD AQM1602XA-RN-GBW using I2C interface
MikamiUitOpen 0:e1b05c7eb023 3 // Pullup resistors for SDA and SCL: 10 kΩ
MikamiUitOpen 0:e1b05c7eb023 4 // 2015/05/30, Copyright (c) 2015 MIKAMI, Naoki
MikamiUitOpen 0:e1b05c7eb023 5 //------------------------------------------------------------
MikamiUitOpen 0:e1b05c7eb023 6
MikamiUitOpen 0:e1b05c7eb023 7 #include "mbed.h"
MikamiUitOpen 0:e1b05c7eb023 8 #include "AQM1602.hpp"
MikamiUitOpen 0:e1b05c7eb023 9 using namespace Mikami;
MikamiUitOpen 0:e1b05c7eb023 10
MikamiUitOpen 0:e1b05c7eb023 11 Aqm1602 lcd_; // Default, OK
MikamiUitOpen 0:e1b05c7eb023 12 //Aqm1602 lcd_(D14, D15); // OK
MikamiUitOpen 0:e1b05c7eb023 13 //Aqm1602 lcd_(D14, D15, 200000); // OK
MikamiUitOpen 0:e1b05c7eb023 14 //Aqm1602 lcd_(D14, D15, 200000, true, true); // OK
MikamiUitOpen 0:e1b05c7eb023 15 //Aqm1602 lcd_(PB_3, PB_10); // OK
MikamiUitOpen 0:e1b05c7eb023 16 //Aqm1602 lcd_(PC_9, PA_8); // OK
MikamiUitOpen 0:e1b05c7eb023 17 //Aqm1602 lcd_(PB_4, PA_8); // OK
MikamiUitOpen 0:e1b05c7eb023 18
MikamiUitOpen 0:e1b05c7eb023 19 Ticker timer_;
MikamiUitOpen 0:e1b05c7eb023 20 DigitalIn uButton_(USER_BUTTON);
MikamiUitOpen 0:e1b05c7eb023 21
MikamiUitOpen 0:e1b05c7eb023 22 // Display 0, 1, 2, .....
MikamiUitOpen 0:e1b05c7eb023 23 void TimerIsr()
MikamiUitOpen 0:e1b05c7eb023 24 {
MikamiUitOpen 0:e1b05c7eb023 25 static int k = 0;
MikamiUitOpen 0:e1b05c7eb023 26 char str[10];
MikamiUitOpen 0:e1b05c7eb023 27 sprintf(str, "%d", k++);
MikamiUitOpen 0:e1b05c7eb023 28 lcd_.WriteStringXY(str, 0, 1);
MikamiUitOpen 0:e1b05c7eb023 29 }
MikamiUitOpen 0:e1b05c7eb023 30
MikamiUitOpen 0:e1b05c7eb023 31 void WaitButton()
MikamiUitOpen 0:e1b05c7eb023 32 {
MikamiUitOpen 0:e1b05c7eb023 33 while (uButton_ == 1) {}
MikamiUitOpen 0:e1b05c7eb023 34 wait(0.2);
MikamiUitOpen 0:e1b05c7eb023 35 }
MikamiUitOpen 0:e1b05c7eb023 36
MikamiUitOpen 0:e1b05c7eb023 37 int main()
MikamiUitOpen 0:e1b05c7eb023 38 {
MikamiUitOpen 0:e1b05c7eb023 39 lcd_.Clear();
MikamiUitOpen 0:e1b05c7eb023 40 lcd_.WriteString("Hello!");
MikamiUitOpen 0:e1b05c7eb023 41 WaitButton(); // Waiting, push blue user button
MikamiUitOpen 0:e1b05c7eb023 42 lcd_.WriteStringXY("0123456789ABCDEF", 0, 0);
MikamiUitOpen 0:e1b05c7eb023 43 WaitButton(); // Waiting, push blue user button
MikamiUitOpen 0:e1b05c7eb023 44 lcd_.ClearLine(0);
MikamiUitOpen 0:e1b05c7eb023 45 WaitButton(); // Waiting, push blue user button
MikamiUitOpen 0:e1b05c7eb023 46 lcd_.WriteStringXY("AQM1602XA-RN-GBW", 0, 0);
MikamiUitOpen 0:e1b05c7eb023 47 TimerIsr();
MikamiUitOpen 0:e1b05c7eb023 48 timer_.attach(&TimerIsr, 1);
MikamiUitOpen 0:e1b05c7eb023 49
MikamiUitOpen 0:e1b05c7eb023 50 while (true) {}
MikamiUitOpen 0:e1b05c7eb023 51 }