I2C Tester
Revision 0:bc53a5d93a32, committed 2015-08-06
- Comitter:
- jdiogo10
- Date:
- Thu Aug 06 17:05:41 2015 +0000
- Commit message:
- ESRG - JV
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed-src.lib | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Aug 06 17:05:41 2015 +0000 @@ -0,0 +1,101 @@ +#include "mbed.h" + +#define SHT21_REG_DATA (0x00) // Data Register +#define SHT21_REG_CONF (0x01) // Configuration Register +#define SHT21_ADDR (0xAA) // SHT21 address + +I2C i2c1(D14, D15); // This is I2C1 SDA, SCL +//PwmOut attiny(D3); // This is PWM2/2 +DigitalOut attiny(D3); // This is PWM2/2 +Serial usart1(D10, D2); // This is USART1 TX, RX +InterruptIn button(USER_BUTTON); // This is USERBUTTON (PC_13) + +Ticker flipper; +DigitalOut led(LED1); + +volatile bool button_pressed = false; + +//void usart1_RxIrq() +//{ +// if(usart1.readable()) +// { +// } +//} + +void pwmon() +{ + button_pressed = true; +} + +void pwmoff() +{ + button_pressed = false; +} + +void flip() +{ + led = !led; + attiny = !attiny; +} + +int main() +{ + bool set_pwm = false; + int data = 0; + char data_write[2]; + char data_read[1]; + + // Configure the Temperature sensor device SHT21: +// data_write[0] = SHT21_REG_CONF; +// data_write[1] = 0x00; +// i2c1.write(SHT21_ADDR, data_write, 2, 0); + + // Configure serial port + usart1.baud(115200); // Baud rate + //usart1.attach(&usart1_RxIrq, Serial::RxIrq); // RX interrupt handler + + // Configure button interrupt + button.fall(&pwmon); + button.rise(&pwmoff); + + while(1) + { + if(button_pressed) + { + data = 0; + + if(!set_pwm) + { + // Configure pwm +// attiny.period_ms(50); // choose the period of the pwm +// attiny.write(0.50f); // 50% duty cycle + + set_pwm = true; + led = 1; + attiny = 1; + + flipper.attach(&flip, 3.0); // the address of the function to be attached (flip) and the interval (3 seconds) + } + } + else + { +// attiny.write(0); // Turn off the pwm + flipper.detach(); + + set_pwm = false; + attiny = 0; + led = 0; + + // Write and Read from the slave + data_write[0] = SHT21_REG_DATA; + data_write[1] = data; + i2c1.write(SHT21_ADDR, data_write, 2, false); + i2c1.read(SHT21_ADDR, data_read, 1, false); + + usart1.printf("Value = %d\n", data_read); + wait(2.0); + + data++; + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-src.lib Thu Aug 06 17:05:41 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed-src/#248b0d2dd755