Marek Trojan
/
_8_KL46_M_simple_write
program for I2C master device
Fork of I2C_HelloWorld_Mbed by
main.h@11:eff597e2366e, 2016-01-08 (annotated)
- 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?
User | Revision | Line number | New 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 |