一秒ごとにスイッチのon/off回数を数えるプログラムです。 タイムスタンプのエラーで困ってます。

Dependencies:   Pswitch_Lib TextLCD mbed

Committer:
nanaju
Date:
Sun Feb 09 12:59:04 2014 +0000
Revision:
0:252c31119664
????????????????????????????; ?????????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nanaju 0:252c31119664 1 #include "mbed.h"
nanaju 0:252c31119664 2 #include "TextLCD.h"
nanaju 0:252c31119664 3 #include "Pswitch.h"
nanaju 0:252c31119664 4
nanaju 0:252c31119664 5 TextLCD lcd(p24,p26,p27,p28,p29,p30);
nanaju 0:252c31119664 6 DigitalOut myled(LED1);
nanaju 0:252c31119664 7 Pswitch mgsw(p8);
nanaju 0:252c31119664 8 Ticker wari;
nanaju 0:252c31119664 9 LocalFileSystem local("local");
nanaju 0:252c31119664 10 int offset_JAPAN = 32400; //JSTのためのオフセット
nanaju 0:252c31119664 11
nanaju 0:252c31119664 12 int main() {//unix timestamm
nanaju 0:252c31119664 13 set_time(1391948455+offset_JAPAN); // Set RTC time to Mon, 18 Apr 2011 13:00:00
nanaju 0:252c31119664 14
nanaju 0:252c31119664 15 }
nanaju 0:252c31119664 16
nanaju 0:252c31119664 17
nanaju 0:252c31119664 18 int rpm=0,count=0;
nanaju 0:252c31119664 19 volatile bool flag;
nanaju 0:252c31119664 20
nanaju 0:252c31119664 21 void time() {
nanaju 0:252c31119664 22 flag=1;
nanaju 0:252c31119664 23 }
nanaju 0:252c31119664 24
nanaju 0:252c31119664 25 void LFS() {
nanaju 0:252c31119664 26 char time[16];
nanaju 0:252c31119664 27 lcd.locate(0,0);
nanaju 0:252c31119664 28 rpm=count*60/2;
nanaju 0:252c31119664 29 time_t seconds; time(&seconds);
nanaju 0:252c31119664 30 strftime(time, 16, "%H:%M:%S\n", localtime(&seconds));
nanaju 0:252c31119664 31 FILE *fp = fopen("/local/out.txt", "a");
nanaju 0:252c31119664 32 fprintf(fp,"rpm=%4d,count=%4d,%s",rpm,count,time);
nanaju 0:252c31119664 33 fclose(fp);
nanaju 0:252c31119664 34 lcd.printf ("count=%4d,%s\r\n",count,time);
nanaju 0:252c31119664 35 count=0;
nanaju 0:252c31119664 36 }
nanaju 0:252c31119664 37
nanaju 0:252c31119664 38 int main2() {
nanaju 0:252c31119664 39 wari.attach(&time, 1.0);
nanaju 0:252c31119664 40
nanaju 0:252c31119664 41 while (1) {
nanaju 0:252c31119664 42 if (mgsw.count()>0) {
nanaju 0:252c31119664 43
nanaju 0:252c31119664 44 myled=1;
nanaju 0:252c31119664 45 count++;
nanaju 0:252c31119664 46 if (flag==1) {
nanaju 0:252c31119664 47 LFS();
nanaju 0:252c31119664 48 flag=0;
nanaju 0:252c31119664 49 }
nanaju 0:252c31119664 50 } else {
nanaju 0:252c31119664 51 myled=0;
nanaju 0:252c31119664 52 }
nanaju 0:252c31119664 53 //lcd.printf("%4d",count);
nanaju 0:252c31119664 54 }
nanaju 0:252c31119664 55 }