I2C 接続の LCD AQM1602XA-RN-GBW 用のライブラリの使用例. Demo program of library for LCD 1602XA-RN-GBW connected using I2C interface.
Dependencies: mbed UIT_AQM1602
main.cpp@4:291e82d910d0, 2016-01-14 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Thu Jan 14 05:57:02 2016 +0000
- Revision:
- 4:291e82d910d0
- Parent:
- 3:fe2f8abf2120
- Child:
- 5:d63f1c2d8027
5
Who changed what in which revision?
User | Revision | Line number | New 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 | 4:291e82d910d0 | 4 | // 2016/01/14, Copyright (c) 2015 MIKAMI, Naoki |
MikamiUitOpen | 0:e1b05c7eb023 | 5 | //------------------------------------------------------------ |
MikamiUitOpen | 0:e1b05c7eb023 | 6 | |
MikamiUitOpen | 0:e1b05c7eb023 | 7 | #include "AQM1602.hpp" |
MikamiUitOpen | 1:6c838e71e330 | 8 | |
MikamiUitOpen | 0:e1b05c7eb023 | 9 | using namespace Mikami; |
MikamiUitOpen | 0:e1b05c7eb023 | 10 | |
MikamiUitOpen | 4:291e82d910d0 | 11 | Aqm1602 lcd_; // Default, OK |
MikamiUitOpen | 4:291e82d910d0 | 12 | //Aqm1602 lcd_(D14, D15); // OK |
MikamiUitOpen | 4:291e82d910d0 | 13 | //Aqm1602 lcd_(D14, D15, 200000); // OK |
MikamiUitOpen | 4:291e82d910d0 | 14 | //Aqm1602 lcd_(D14, D15, 200000, true, true); // OK |
MikamiUitOpen | 4:291e82d910d0 | 15 | //Aqm1602 lcd_(PB_3, PB_10); // OK |
MikamiUitOpen | 4:291e82d910d0 | 16 | //Aqm1602 lcd_(PC_9, PA_8); // OK |
MikamiUitOpen | 4:291e82d910d0 | 17 | //Aqm1602 lcd_(PB_4, PA_8); // OK |
MikamiUitOpen | 4:291e82d910d0 | 18 | //I2C i2cObj_(D14, D15); |
MikamiUitOpen | 4:291e82d910d0 | 19 | //Aqm1602 lcd_(i2cObj_); // OK |
MikamiUitOpen | 4:291e82d910d0 | 20 | |
MikamiUitOpen | 4:291e82d910d0 | 21 | // Following: for LPC1114 |
MikamiUitOpen | 4:291e82d910d0 | 22 | //Aqm1602 lcd_(dp5, dp27); // OK |
MikamiUitOpen | 4:291e82d910d0 | 23 | //I2C i2cObj_(dp5, dp27); |
MikamiUitOpen | 4:291e82d910d0 | 24 | //Aqm1602 lcd_(i2cObj_); // OK |
MikamiUitOpen | 4:291e82d910d0 | 25 | |
MikamiUitOpen | 4:291e82d910d0 | 26 | // Following: for LPC1768 |
MikamiUitOpen | 4:291e82d910d0 | 27 | //Aqm1602 lcd_(p9, p10); // OK |
MikamiUitOpen | 0:e1b05c7eb023 | 28 | |
MikamiUitOpen | 0:e1b05c7eb023 | 29 | Ticker timer_; |
MikamiUitOpen | 4:291e82d910d0 | 30 | #if defined(STM32F4) || defined(STM32L0) || defined(__STM32F3xx_H) |
MikamiUitOpen | 0:e1b05c7eb023 | 31 | DigitalIn uButton_(USER_BUTTON); |
MikamiUitOpen | 4:291e82d910d0 | 32 | #endif |
MikamiUitOpen | 0:e1b05c7eb023 | 33 | |
MikamiUitOpen | 0:e1b05c7eb023 | 34 | // Display 0, 1, 2, ..... |
MikamiUitOpen | 0:e1b05c7eb023 | 35 | void TimerIsr() |
MikamiUitOpen | 0:e1b05c7eb023 | 36 | { |
MikamiUitOpen | 0:e1b05c7eb023 | 37 | static int k = 0; |
MikamiUitOpen | 0:e1b05c7eb023 | 38 | char str[10]; |
MikamiUitOpen | 0:e1b05c7eb023 | 39 | sprintf(str, "%d", k++); |
MikamiUitOpen | 0:e1b05c7eb023 | 40 | lcd_.WriteStringXY(str, 0, 1); |
MikamiUitOpen | 0:e1b05c7eb023 | 41 | } |
MikamiUitOpen | 0:e1b05c7eb023 | 42 | |
MikamiUitOpen | 0:e1b05c7eb023 | 43 | void WaitButton() |
MikamiUitOpen | 0:e1b05c7eb023 | 44 | { |
MikamiUitOpen | 1:6c838e71e330 | 45 | lcd_.WriteStringXY("Push blue button", 0, 1); |
MikamiUitOpen | 4:291e82d910d0 | 46 | #if defined(STM32F4) || defined(STM32L0) || defined(__STM32F3xx_H) |
MikamiUitOpen | 0:e1b05c7eb023 | 47 | while (uButton_ == 1) {} |
MikamiUitOpen | 4:291e82d910d0 | 48 | #else |
MikamiUitOpen | 4:291e82d910d0 | 49 | wait(2); |
MikamiUitOpen | 4:291e82d910d0 | 50 | #endif |
MikamiUitOpen | 1:6c838e71e330 | 51 | lcd_.ClearLine(1); |
MikamiUitOpen | 1:6c838e71e330 | 52 | wait(0.5); |
MikamiUitOpen | 0:e1b05c7eb023 | 53 | } |
MikamiUitOpen | 0:e1b05c7eb023 | 54 | |
MikamiUitOpen | 0:e1b05c7eb023 | 55 | int main() |
MikamiUitOpen | 0:e1b05c7eb023 | 56 | { |
MikamiUitOpen | 2:6e609a28fa80 | 57 | if (lcd_.IsConnected()) printf("\r\nConnected"); |
MikamiUitOpen | 2:6e609a28fa80 | 58 | else printf("\r\nDisconnected"); |
MikamiUitOpen | 3:fe2f8abf2120 | 59 | |
MikamiUitOpen | 0:e1b05c7eb023 | 60 | lcd_.Clear(); |
MikamiUitOpen | 0:e1b05c7eb023 | 61 | lcd_.WriteString("Hello!"); |
MikamiUitOpen | 0:e1b05c7eb023 | 62 | WaitButton(); // Waiting, push blue user button |
MikamiUitOpen | 0:e1b05c7eb023 | 63 | lcd_.WriteStringXY("0123456789ABCDEF", 0, 0); |
MikamiUitOpen | 0:e1b05c7eb023 | 64 | WaitButton(); // Waiting, push blue user button |
MikamiUitOpen | 0:e1b05c7eb023 | 65 | lcd_.ClearLine(0); |
MikamiUitOpen | 0:e1b05c7eb023 | 66 | WaitButton(); // Waiting, push blue user button |
MikamiUitOpen | 1:6c838e71e330 | 67 | string str = "AQM1602"; |
MikamiUitOpen | 1:6c838e71e330 | 68 | lcd_.WriteStringXY(str+"XA-RN-GBW", 0, 0); |
MikamiUitOpen | 0:e1b05c7eb023 | 69 | TimerIsr(); |
MikamiUitOpen | 0:e1b05c7eb023 | 70 | timer_.attach(&TimerIsr, 1); |
MikamiUitOpen | 0:e1b05c7eb023 | 71 | |
MikamiUitOpen | 0:e1b05c7eb023 | 72 | while (true) {} |
MikamiUitOpen | 0:e1b05c7eb023 | 73 | } |