Marek Trojan
/
_8_KL46_M_simple_write
program for I2C master device
Fork of I2C_HelloWorld_Mbed by
main.h@10:39dd1d3508c3, 2015-12-25 (annotated)
- Committer:
- marcus255
- Date:
- Fri Dec 25 21:35:57 2015 +0000
- Revision:
- 10:39dd1d3508c3
- Parent:
- 9:36fc715eb54c
- Child:
- 11:eff597e2366e
Final version of I2C Master devices simulator
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 | 10:39dd1d3508c3 | 3 | * File: main.h |
marcus255 | 10:39dd1d3508c3 | 4 | * Utility: simulating I2C Master devices |
marcus255 | 10:39dd1d3508c3 | 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 | 10:39dd1d3508c3 | 12 | #define EEPROM_ADDRESS 0xA0 |
marcus255 | 10:39dd1d3508c3 | 13 | #define RTC_ADDR 0xD0 |
marcus255 | 8:3e6945d5d9a1 | 14 | #define TEMPERATURE_REGISTER 0x11 |
marcus255 | 10:39dd1d3508c3 | 15 | #define TIME_REGISTER 0x00 |
marcus255 | 9:36fc715eb54c | 16 | #define RIGHT_PUSH_BUTTON PTC3 |
marcus255 | 9:36fc715eb54c | 17 | #define LEFT_PUSH_BUTTON PTC12 |
marcus255 | 10:39dd1d3508c3 | 18 | #define DATA_SIZE 16 |
marcus255 | 9:36fc715eb54c | 19 | #define SENSOR_ROUTINE 1 |
marcus255 | 9:36fc715eb54c | 20 | #define MEMORY_ROUTINE 2 |
marcus255 | 10:39dd1d3508c3 | 21 | #define TIME_ROUTINE 3 |
marcus255 | 10:39dd1d3508c3 | 22 | #define I2C_FREQUENCY_STANDARD 100000 /* Hz */ |
marcus255 | 9:36fc715eb54c | 23 | |
marcus255 | 9:36fc715eb54c | 24 | InterruptIn left_but(LEFT_PUSH_BUTTON); |
marcus255 | 9:36fc715eb54c | 25 | InterruptIn right_but(RIGHT_PUSH_BUTTON); |
marcus255 | 4:1ec553356dcc | 26 | I2C i2c(PTE0, PTE1); |
marcus255 | 4:1ec553356dcc | 27 | Serial pc(USBTX, USBRX); |
marcus255 | 4:1ec553356dcc | 28 | DigitalOut led(LED_GREEN); |
marcus255 | 4:1ec553356dcc | 29 | Ticker i2c_ticker; |
marcus255 | 5:8dc6d7d81250 | 30 | void write_data(void); |
marcus255 | 7:b07706b16279 | 31 | void read_data(char*); |
marcus255 | 5:8dc6d7d81250 | 32 | void write_and_read(void); |
marcus255 | 9:36fc715eb54c | 33 | void memory_routine(void); |
marcus255 | 10:39dd1d3508c3 | 34 | void rtc_routine(void); |
marcus255 | 8:3e6945d5d9a1 | 35 | |
marcus255 | 8:3e6945d5d9a1 | 36 | void rtc_sensor(); |
marcus255 | 9:36fc715eb54c | 37 | int get_temperature_raw(char*); |
marcus255 | 8:3e6945d5d9a1 | 38 | float proceed_temperature(char*); |
marcus255 | 10:39dd1d3508c3 | 39 | void rtc_time(void); |
marcus255 | 10:39dd1d3508c3 | 40 | int get_time_raw(char*); |
marcus255 | 10:39dd1d3508c3 | 41 | void proceed_time(char *, uint8_t *); |
marcus255 | 8:3e6945d5d9a1 | 42 | |
marcus255 | 9:36fc715eb54c | 43 | unsigned int rnd(void); |
marcus255 | 9:36fc715eb54c | 44 | int routine; |
marcus255 | 9:36fc715eb54c | 45 | char memory_cell_addr; |
marcus255 | 9:36fc715eb54c | 46 | unsigned int m_z; |
marcus255 | 9:36fc715eb54c | 47 | unsigned int m_w; |
marcus255 | 9:36fc715eb54c | 48 | |
marcus255 | 4:1ec553356dcc | 49 | void init(void); |
marcus255 | 9:36fc715eb54c | 50 | char data[DATA_SIZE + 1]; |
marcus255 | 9:36fc715eb54c | 51 | |
marcus255 | 4:1ec553356dcc | 52 | |
marcus255 | 4:1ec553356dcc | 53 | #endif |