Demo program of UIT_ACM1602NI for use LCD on NucleoF401.

Dependencies:   UIT_ACM1602NI mbed

Committer:
MikamiUitOpen
Date:
Tue Dec 09 04:27:42 2014 +0000
Revision:
4:8b1816e38262
Parent:
2:8e082c838a45
Child:
6:8f5c84d52659
5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:d42990d2724c 1 //------------------------------------------------------------
MikamiUitOpen 1:3563f4c06d9e 2 // Demo program for LCD ACM1602NI using I2C interface
MikamiUitOpen 0:d42990d2724c 3 // Pullup resistors for SDA and SCL: 4.7 kΩ
MikamiUitOpen 4:8b1816e38262 4 // 2014/12/09, Copyright (c) 2014 MIKAMI, Naoki
MikamiUitOpen 0:d42990d2724c 5 //------------------------------------------------------------
MikamiUitOpen 0:d42990d2724c 6
MikamiUitOpen 0:d42990d2724c 7 #include "ACM1602NI.hpp"
MikamiUitOpen 0:d42990d2724c 8 using namespace Mikami;
MikamiUitOpen 0:d42990d2724c 9
MikamiUitOpen 0:d42990d2724c 10 Acm1602Ni lcd_; // Default, OK
MikamiUitOpen 0:d42990d2724c 11 //Acm1602Ni lcd_(D14, D15); // OK
MikamiUitOpen 0:d42990d2724c 12 //Acm1602Ni lcd_(D14, D15, 200000); // OK
MikamiUitOpen 0:d42990d2724c 13 //Acm1602Ni lcd_(D14, D15, 200000, true, true); // OK
MikamiUitOpen 0:d42990d2724c 14 //Acm1602Ni lcd_(PB_3, PB_10); // OK
MikamiUitOpen 0:d42990d2724c 15 //Acm1602Ni lcd_(PC_9, PA_8); // OK
MikamiUitOpen 0:d42990d2724c 16 //Acm1602Ni lcd_(PB_4, PA_8); // OK
MikamiUitOpen 0:d42990d2724c 17
MikamiUitOpen 0:d42990d2724c 18 Ticker timer_;
MikamiUitOpen 0:d42990d2724c 19
MikamiUitOpen 0:d42990d2724c 20 // Display 0, 1, 2, .....
MikamiUitOpen 0:d42990d2724c 21 void TimerIsr()
MikamiUitOpen 0:d42990d2724c 22 {
MikamiUitOpen 0:d42990d2724c 23 static int k = 0;
MikamiUitOpen 4:8b1816e38262 24 int sec = k % 60; // seconds
MikamiUitOpen 4:8b1816e38262 25 int min = k / 60; // minits
MikamiUitOpen 0:d42990d2724c 26 char str[20];
MikamiUitOpen 4:8b1816e38262 27 sprintf(str, "%d'", min);
MikamiUitOpen 4:8b1816e38262 28 string minSec = str;
MikamiUitOpen 4:8b1816e38262 29 sprintf(str, "%2d\"", sec);
MikamiUitOpen 4:8b1816e38262 30 minSec = minSec + str;
MikamiUitOpen 4:8b1816e38262 31 lcd_.WriteStringXY(minSec, 0, 1);
MikamiUitOpen 4:8b1816e38262 32 k++;
MikamiUitOpen 0:d42990d2724c 33 }
MikamiUitOpen 0:d42990d2724c 34
MikamiUitOpen 0:d42990d2724c 35 int main()
MikamiUitOpen 0:d42990d2724c 36 {
MikamiUitOpen 0:d42990d2724c 37 lcd_.Clear();
MikamiUitOpen 0:d42990d2724c 38 lcd_.WriteString("Hello World!");
MikamiUitOpen 0:d42990d2724c 39
MikamiUitOpen 0:d42990d2724c 40 TimerIsr();
MikamiUitOpen 0:d42990d2724c 41 timer_.attach(&TimerIsr, 1);
MikamiUitOpen 0:d42990d2724c 42
MikamiUitOpen 0:d42990d2724c 43 while (true) {}
MikamiUitOpen 0:d42990d2724c 44 }