Frank Girald
/
i2cslaveToRasbPi
Configura kl25z en modo esclavo i2c, para recibir comandos de la Raspsberry Pi en modo Maestro
main.cpp@0:b16fccf97adb, 2018-10-12 (annotated)
- Committer:
- franni
- Date:
- Fri Oct 12 01:46:57 2018 +0000
- Revision:
- 0:b16fccf97adb
KL25Z i2c Slave to Raspberry Pi Master
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
franni | 0:b16fccf97adb | 1 | #include "mbed.h" |
franni | 0:b16fccf97adb | 2 | |
franni | 0:b16fccf97adb | 3 | DigitalOut led(LED1); |
franni | 0:b16fccf97adb | 4 | Serial pc(USBTX, USBRX); // tx, rx |
franni | 0:b16fccf97adb | 5 | I2CSlave slave(PTC9,PTC8); // SDA, SCL |
franni | 0:b16fccf97adb | 6 | |
franni | 0:b16fccf97adb | 7 | const int SLAVE_ADDRESS = 0x0A; |
franni | 0:b16fccf97adb | 8 | const int I2C_FREQUENCY = 100000; |
franni | 0:b16fccf97adb | 9 | // const int I2C_BUFFER_SIZE = 6; |
franni | 0:b16fccf97adb | 10 | |
franni | 0:b16fccf97adb | 11 | |
franni | 0:b16fccf97adb | 12 | int main() { |
franni | 0:b16fccf97adb | 13 | pc.baud(9600); |
franni | 0:b16fccf97adb | 14 | |
franni | 0:b16fccf97adb | 15 | // Configure I2C |
franni | 0:b16fccf97adb | 16 | slave.frequency(I2C_FREQUENCY); |
franni | 0:b16fccf97adb | 17 | pc.printf("Frecuencia I2C Slave @ %dHz\r\n", I2C_FREQUENCY); |
franni | 0:b16fccf97adb | 18 | slave.address(SLAVE_ADDRESS); |
franni | 0:b16fccf97adb | 19 | pc.printf("Direccion Slave @ SLAVE_ADDRESS = 0x%x\r\n", SLAVE_ADDRESS); |
franni | 0:b16fccf97adb | 20 | |
franni | 0:b16fccf97adb | 21 | // I2C buffer |
franni | 0:b16fccf97adb | 22 | // char buffer[I2C_BUFFER_SIZE]; |
franni | 0:b16fccf97adb | 23 | |
franni | 0:b16fccf97adb | 24 | while (1) { |
franni | 0:b16fccf97adb | 25 | int rec = slave.receive(); |
franni | 0:b16fccf97adb | 26 | pc.printf("Dato recibido %d\r\n", rec); |
franni | 0:b16fccf97adb | 27 | } |
franni | 0:b16fccf97adb | 28 | } |