This short program illustrates how to use the DS130x_I2C library. My objective is to share the same RTC with Microchip 18F MCU.

Dependencies:   mbed DebugLibrary

Committer:
Yann
Date:
Fri Feb 11 10:17:20 2011 +0000
Revision:
1:995212d326ca
Parent:
0:f30e2135b0db
V0.0.0.2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Yann 0:f30e2135b0db 1 #include "sys_arch.h"
Yann 0:f30e2135b0db 2 #include "mbed.h"
Yann 0:f30e2135b0db 3 //DG 2010
Yann 0:f30e2135b0db 4
Yann 0:f30e2135b0db 5 #ifdef __cplusplus
Yann 0:f30e2135b0db 6 extern "C" {
Yann 0:f30e2135b0db 7 #endif
Yann 0:f30e2135b0db 8
Yann 0:f30e2135b0db 9 #ifdef __COMPLEX_AND_BUGGUY_HANDLING__
Yann 0:f30e2135b0db 10 static Timer* pTmr = NULL;
Yann 0:f30e2135b0db 11
Yann 0:f30e2135b0db 12 void sys_init(void)
Yann 0:f30e2135b0db 13 {
Yann 0:f30e2135b0db 14 //Start Timer
Yann 0:f30e2135b0db 15 pTmr = new Timer();
Yann 0:f30e2135b0db 16 pTmr->start();
Yann 0:f30e2135b0db 17 }
Yann 0:f30e2135b0db 18
Yann 0:f30e2135b0db 19 u32_t sys_jiffies(void) /* since power up. */
Yann 0:f30e2135b0db 20 {
Yann 0:f30e2135b0db 21 return (u32_t) (pTmr->read_ms()/10); //In /10ms units
Yann 0:f30e2135b0db 22 }
Yann 0:f30e2135b0db 23
Yann 0:f30e2135b0db 24 u32_t sys_now(void)
Yann 0:f30e2135b0db 25 {
Yann 0:f30e2135b0db 26 return (u32_t) pTmr->read_ms(); //In /ms units
Yann 0:f30e2135b0db 27 }
Yann 0:f30e2135b0db 28 #elif0
Yann 0:f30e2135b0db 29 void sys_init(void)
Yann 0:f30e2135b0db 30 {
Yann 0:f30e2135b0db 31
Yann 0:f30e2135b0db 32 }
Yann 0:f30e2135b0db 33
Yann 0:f30e2135b0db 34 u32_t sys_jiffies(void) /* since power up. */
Yann 0:f30e2135b0db 35 {
Yann 0:f30e2135b0db 36 static int count = 0;
Yann 0:f30e2135b0db 37 return ++count;
Yann 0:f30e2135b0db 38 }
Yann 0:f30e2135b0db 39
Yann 0:f30e2135b0db 40 u32_t sys_now(void)
Yann 0:f30e2135b0db 41 {
Yann 0:f30e2135b0db 42 return (u32_t) time(NULL);
Yann 0:f30e2135b0db 43 }
Yann 0:f30e2135b0db 44 #else
Yann 0:f30e2135b0db 45 static Timer* pTmr = NULL;
Yann 0:f30e2135b0db 46
Yann 0:f30e2135b0db 47 void sys_init(void)
Yann 0:f30e2135b0db 48 {
Yann 0:f30e2135b0db 49 //Start Timer
Yann 0:f30e2135b0db 50 pTmr = new Timer();
Yann 0:f30e2135b0db 51 pTmr->start();
Yann 0:f30e2135b0db 52 }
Yann 0:f30e2135b0db 53
Yann 0:f30e2135b0db 54 u32_t sys_jiffies(void) /* since power up. */
Yann 0:f30e2135b0db 55 {
Yann 0:f30e2135b0db 56 static int count = 0;
Yann 0:f30e2135b0db 57 return ++count;
Yann 0:f30e2135b0db 58 //return (u32_t) (pTmr->read_us());
Yann 0:f30e2135b0db 59 }
Yann 0:f30e2135b0db 60
Yann 0:f30e2135b0db 61 u32_t sys_now(void)
Yann 0:f30e2135b0db 62 {
Yann 0:f30e2135b0db 63 return (u32_t) (pTmr->read_ms()); //In /ms units
Yann 0:f30e2135b0db 64 }
Yann 0:f30e2135b0db 65 #endif
Yann 0:f30e2135b0db 66
Yann 0:f30e2135b0db 67
Yann 0:f30e2135b0db 68 #ifdef __cplusplus
Yann 0:f30e2135b0db 69 }
Yann 0:f30e2135b0db 70 #endif