lpc824break mbed sd文件系统

Dependencies:   DS1302 SDFileSystem mbed

Fork of temp_humid_time_DS1302_LM35_DHT11 by Clovis Fritzen

Committer:
dadangjia
Date:
Thu Jun 08 15:20:57 2017 +0000
Revision:
1:b201895769bd
Parent:
0:8f0934e41a57
lpc824break mbed sd????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Clovis 0:8f0934e41a57 1 #include "mbed.h"
dadangjia 1:b201895769bd 2 #include "DS1302.h"
Clovis 0:8f0934e41a57 3 #include "SDFileSystem.h"
Clovis 0:8f0934e41a57 4
dadangjia 1:b201895769bd 5 Serial pc(P0_4,P0_0,921600);
dadangjia 1:b201895769bd 6 Ticker ticker;
dadangjia 1:b201895769bd 7 float sampleTime = 1.0;
Clovis 0:8f0934e41a57 8 // Defines for the DS1302 timer module
dadangjia 1:b201895769bd 9 //#define INITIAL_RUN 1
dadangjia 1:b201895769bd 10 #define LED1 P0_15
dadangjia 1:b201895769bd 11 #define LED2 P0_16
dadangjia 1:b201895769bd 12 #define LED3 P0_17
dadangjia 1:b201895769bd 13 #define SCLK P0_20
dadangjia 1:b201895769bd 14 #define IO P0_21
dadangjia 1:b201895769bd 15 #define CE P0_22
Clovis 0:8f0934e41a57 16
dadangjia 1:b201895769bd 17 SDFileSystem sd(P0_26, P0_25, P0_24, P0_15, "sd"); //MOSI, MISO, SCLK, SSEL. (SD Card) Tested on K64F, correct pins.
dadangjia 1:b201895769bd 18 DS1302 clk(SCLK, IO, CE); // ports for the DS1302 time keeper
dadangjia 1:b201895769bd 19 AnalogIn PH0(P0_6); //PH传感器 A0
dadangjia 1:b201895769bd 20 AnalogIn AD1(P0_14); //AD采集信号 A1
dadangjia 1:b201895769bd 21 float ad1= 0.00;
dadangjia 1:b201895769bd 22 float ph0= 0.00;
dadangjia 1:b201895769bd 23 char sd_flag;
dadangjia 1:b201895769bd 24 DigitalOut RedLed(LED1); // 工作指示灯,每秒闪灭一次
dadangjia 1:b201895769bd 25 DigitalOut GreenLed(LED2); // SD卡读取状态寄存器
Clovis 0:8f0934e41a57 26 DigitalOut Blueled(LED3); // DHT11 read indication
dadangjia 1:b201895769bd 27
dadangjia 1:b201895769bd 28 void LPC824_ticker()
dadangjia 1:b201895769bd 29 {
dadangjia 1:b201895769bd 30 RedLed=!RedLed;
dadangjia 1:b201895769bd 31 ph0 = PH0.read() * 3300;
dadangjia 1:b201895769bd 32 ad1 = AD1.read() * 3300;
dadangjia 1:b201895769bd 33 time_t seconds = clk.time(NULL);
dadangjia 1:b201895769bd 34 pc.printf("PH0:%.0f mVd,AD1:%.0f mV,%s\r\n",ph0,ad1,ctime(&seconds));
dadangjia 1:b201895769bd 35
dadangjia 1:b201895769bd 36 if(sd_flag)
dadangjia 1:b201895769bd 37 {
dadangjia 1:b201895769bd 38 GreenLed= 0;
dadangjia 1:b201895769bd 39 FILE *fp = fopen("/sd/LPC824date/data001.csv", "a");
dadangjia 1:b201895769bd 40 if(fp != NULL)
dadangjia 1:b201895769bd 41 {
dadangjia 1:b201895769bd 42 fprintf(fp, "%s\t%.0f\t%.0f\n", ctime(&seconds), ph0,ad1);
dadangjia 1:b201895769bd 43 fclose(fp);
dadangjia 1:b201895769bd 44 GreenLed= 0;
dadangjia 1:b201895769bd 45 }
dadangjia 1:b201895769bd 46 else
dadangjia 1:b201895769bd 47 {
dadangjia 1:b201895769bd 48 GreenLed= 1;
dadangjia 1:b201895769bd 49 }
dadangjia 1:b201895769bd 50 }
dadangjia 1:b201895769bd 51 }
dadangjia 1:b201895769bd 52
dadangjia 1:b201895769bd 53 void sd_init()
dadangjia 1:b201895769bd 54 {
dadangjia 1:b201895769bd 55 RedLed=1;
dadangjia 1:b201895769bd 56 mkdir("/sd/LPC824date", 0777);
dadangjia 1:b201895769bd 57 FILE *fp = fopen("/sd/LPC824date/data001.csv", "w");
dadangjia 1:b201895769bd 58 if(fp == NULL) {
dadangjia 1:b201895769bd 59 pc.printf("Could not open file for write, Please insert your SD CARD!\n");
dadangjia 1:b201895769bd 60 GreenLed= 1;
dadangjia 1:b201895769bd 61 sd_flag=0;
dadangjia 1:b201895769bd 62 }
dadangjia 1:b201895769bd 63 else
dadangjia 1:b201895769bd 64 {
dadangjia 1:b201895769bd 65 sd_flag = 1;
dadangjia 1:b201895769bd 66 GreenLed= 0;
dadangjia 1:b201895769bd 67 }
dadangjia 1:b201895769bd 68 }
dadangjia 1:b201895769bd 69
dadangjia 1:b201895769bd 70 int main() {
dadangjia 1:b201895769bd 71 pc.printf("LPC824 sd-dh11-ph-ds1302 demo start\r\n");
dadangjia 1:b201895769bd 72 #ifdef INITIAL_RUN
dadangjia 1:b201895769bd 73 clk.set_time(1494675200); //2017.5.13.11.33
Clovis 0:8f0934e41a57 74 #endif
Clovis 0:8f0934e41a57 75 char storedByte = clk.recallByte(0);
dadangjia 1:b201895769bd 76 clk.storeByte(0, storedByte + 1);
dadangjia 1:b201895769bd 77 sd_init();
dadangjia 1:b201895769bd 78 ticker.attach(&LPC824_ticker, sampleTime);
dadangjia 1:b201895769bd 79 while(1)
dadangjia 1:b201895769bd 80 {
Clovis 0:8f0934e41a57 81
Clovis 0:8f0934e41a57 82 }
dadangjia 1:b201895769bd 83 }