programme horloge temps réelle
Dependencies: BSP_DISCO_F746NG LCD_DISCO_F746NG mbed
Fork of DS1338 by
main.cpp@2:f65e93dd619c, 2016-10-12 (annotated)
- Committer:
- Asoumy
- Date:
- Wed Oct 12 14:10:40 2016 +0000
- Revision:
- 2:f65e93dd619c
- Child:
- 3:ec3f4251b6f3
DS1338
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Asoumy | 2:f65e93dd619c | 1 | #include "mbed.h" |
Asoumy | 2:f65e93dd619c | 2 | #include "ds1338.h" |
Asoumy | 2:f65e93dd619c | 3 | #include "LCD_DISCO_F746NG.h" |
Asoumy | 2:f65e93dd619c | 4 | |
Asoumy | 2:f65e93dd619c | 5 | LCD_DISCO_F746NG lcd; |
Asoumy | 2:f65e93dd619c | 6 | |
Asoumy | 2:f65e93dd619c | 7 | char date [50]; |
Asoumy | 2:f65e93dd619c | 8 | DigitalOut led1(LED1); |
Asoumy | 2:f65e93dd619c | 9 | |
Asoumy | 2:f65e93dd619c | 10 | int main() { |
Asoumy | 2:f65e93dd619c | 11 | AnalogIn Vpan(A0); |
Asoumy | 2:f65e93dd619c | 12 | AnalogIn Ipan(A1); |
Asoumy | 2:f65e93dd619c | 13 | AnalogIn Tpan(A2); |
Asoumy | 2:f65e93dd619c | 14 | AnalogIn Irr(A3); |
Asoumy | 2:f65e93dd619c | 15 | AnalogIn Vbat(A4); |
Asoumy | 2:f65e93dd619c | 16 | AnalogIn Ibat(A5); |
Asoumy | 2:f65e93dd619c | 17 | |
Asoumy | 2:f65e93dd619c | 18 | struct tm time; |
Asoumy | 2:f65e93dd619c | 19 | //int count; |
Asoumy | 2:f65e93dd619c | 20 | |
Asoumy | 2:f65e93dd619c | 21 | Serial pc(USBTX, USBRX); |
Asoumy | 2:f65e93dd619c | 22 | pc.baud(9600); |
Asoumy | 2:f65e93dd619c | 23 | pc.printf("DS1338 Demo\r\n"); |
Asoumy | 2:f65e93dd619c | 24 | DS1338 ds1338(D14,D15); |
Asoumy | 2:f65e93dd619c | 25 | //#ifdef INIT_TIME |
Asoumy | 2:f65e93dd619c | 26 | |
Asoumy | 2:f65e93dd619c | 27 | time.tm_sec=0; |
Asoumy | 2:f65e93dd619c | 28 | time.tm_min=46; |
Asoumy | 2:f65e93dd619c | 29 | time.tm_hour=13; |
Asoumy | 2:f65e93dd619c | 30 | time.tm_mday=12; |
Asoumy | 2:f65e93dd619c | 31 | time.tm_mon=9; |
Asoumy | 2:f65e93dd619c | 32 | time.tm_year=116; |
Asoumy | 2:f65e93dd619c | 33 | time.tm_wday=3; |
Asoumy | 2:f65e93dd619c | 34 | time.tm_yday=0; |
Asoumy | 2:f65e93dd619c | 35 | time.tm_isdst=0; |
Asoumy | 2:f65e93dd619c | 36 | ds1338.writeTime(&time); |
Asoumy | 2:f65e93dd619c | 37 | //#endif |
Asoumy | 2:f65e93dd619c | 38 | |
Asoumy | 2:f65e93dd619c | 39 | |
Asoumy | 2:f65e93dd619c | 40 | while (true) { |
Asoumy | 2:f65e93dd619c | 41 | wait(0.5); |
Asoumy | 2:f65e93dd619c | 42 | ds1338.readTime(&time); |
Asoumy | 2:f65e93dd619c | 43 | //ds1338.read(0,4,(char *)(&count)); |
Asoumy | 2:f65e93dd619c | 44 | //count++; |
Asoumy | 2:f65e93dd619c | 45 | //ds1338.write(0,4,(char *)(&count)); |
Asoumy | 2:f65e93dd619c | 46 | pc.printf("time at %s\r\n",asctime(&time)); |
Asoumy | 2:f65e93dd619c | 47 | } |
Asoumy | 2:f65e93dd619c | 48 | lcd.Clear(LCD_COLOR_RED); |
Asoumy | 2:f65e93dd619c | 49 | lcd.SetBackColor(LCD_COLOR_RED); |
Asoumy | 2:f65e93dd619c | 50 | lcd.SetTextColor(LCD_COLOR_WHITE); |
Asoumy | 2:f65e93dd619c | 51 | lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"temps"), LEFT_MODE); |
Asoumy | 2:f65e93dd619c | 52 | sprintf((char*)date, "Touches: %s", asctime(&time)); |
Asoumy | 2:f65e93dd619c | 53 | } |