program for I2C master device

Dependencies:   mbed

Fork of I2C_HelloWorld_Mbed by mbed official

Committer:
marcus255
Date:
Fri Jan 08 13:47:36 2016 +0000
Revision:
11:eff597e2366e
Parent:
10:39dd1d3508c3
Latest version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marcus255 10:39dd1d3508c3 1 /*
marcus255 10:39dd1d3508c3 2 * Project: I2C to UART converter
marcus255 11:eff597e2366e 3 * File: main.h
marcus255 10:39dd1d3508c3 4 * Utility: simulating I2C Master devices
marcus255 11:eff597e2366e 5 * Author: Marek Trojan
marcus255 10:39dd1d3508c3 6 */
marcus255 10:39dd1d3508c3 7
marcus255 4:1ec553356dcc 8 #ifndef MAIN_H
marcus255 4:1ec553356dcc 9 #define MAIN_H
marcus255 4:1ec553356dcc 10
marcus255 4:1ec553356dcc 11 #include "mbed.h"
marcus255 9:36fc715eb54c 12
marcus255 11:eff597e2366e 13 #define EEPROM_ADDRESS 0xA0
marcus255 11:eff597e2366e 14 #define RTC_ADDR 0xD0
marcus255 11:eff597e2366e 15 #define TEMPERATURE_REGISTER 0x11
marcus255 11:eff597e2366e 16 #define TIME_REGISTER 0x00
marcus255 11:eff597e2366e 17 #define DATA_SIZE 16
marcus255 11:eff597e2366e 18 #define SENSOR_ROUTINE 1
marcus255 11:eff597e2366e 19 #define MEMORY_ROUTINE 2
marcus255 11:eff597e2366e 20 #define TIME_ROUTINE 3
marcus255 11:eff597e2366e 21 #define I2C_FREQ_STANDARD 100000 /* Hz */
marcus255 11:eff597e2366e 22 #define PC_BAUD 921600
marcus255 11:eff597e2366e 23
marcus255 4:1ec553356dcc 24 I2C i2c(PTE0, PTE1);
marcus255 4:1ec553356dcc 25 Serial pc(USBTX, USBRX);
marcus255 11:eff597e2366e 26 //DigitalOut led(LED_GREEN);
marcus255 4:1ec553356dcc 27 Ticker i2c_ticker;
marcus255 5:8dc6d7d81250 28 void write_data(void);
marcus255 7:b07706b16279 29 void read_data(char*);
marcus255 5:8dc6d7d81250 30 void write_and_read(void);
marcus255 9:36fc715eb54c 31 void memory_routine(void);
marcus255 10:39dd1d3508c3 32 void rtc_routine(void);
marcus255 11:eff597e2366e 33 void select_routine(void);
marcus255 8:3e6945d5d9a1 34
marcus255 8:3e6945d5d9a1 35 void rtc_sensor();
marcus255 9:36fc715eb54c 36 int get_temperature_raw(char*);
marcus255 8:3e6945d5d9a1 37 float proceed_temperature(char*);
marcus255 10:39dd1d3508c3 38 void rtc_time(void);
marcus255 10:39dd1d3508c3 39 int get_time_raw(char*);
marcus255 10:39dd1d3508c3 40 void proceed_time(char *, uint8_t *);
marcus255 8:3e6945d5d9a1 41
marcus255 9:36fc715eb54c 42 unsigned int rnd(void);
marcus255 9:36fc715eb54c 43 int routine;
marcus255 9:36fc715eb54c 44 char memory_cell_addr;
marcus255 9:36fc715eb54c 45 unsigned int m_z;
marcus255 9:36fc715eb54c 46 unsigned int m_w;
marcus255 9:36fc715eb54c 47
marcus255 4:1ec553356dcc 48 void init(void);
marcus255 9:36fc715eb54c 49 char data[DATA_SIZE + 1];
marcus255 9:36fc715eb54c 50
marcus255 4:1ec553356dcc 51
marcus255 4:1ec553356dcc 52 #endif