一秒ごとにスイッチのon/off回数を数えるプログラムです。 タイムスタンプのエラーで困ってます。
Dependencies: Pswitch_Lib TextLCD mbed
main.cpp@0:252c31119664, 2014-02-09 (annotated)
- Committer:
- nanaju
- Date:
- Sun Feb 09 12:59:04 2014 +0000
- Revision:
- 0:252c31119664
????????????????????????????; ?????????????????
Who changed what in which revision?
User | Revision | Line number | New 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 | } |