Thomas Van Aken
/
bartho
test
main.cpp
- Committer:
- TVA
- Date:
- 2021-02-08
- Revision:
- 3:0e37515b92f1
- Parent:
- 2:8fd249f35ceb
- Child:
- 4:40d23f4295f9
File content as of revision 3:0e37515b92f1:
/* mbed Microcontroller Library * Copyright (c) 2019 ARM Limited * SPDX-License-Identifier: Apache-2.0 */ #include "mbed.h" #include "platform/mbed_thread.h" // Blinking rate in milliseconds #define BLINKING_RATE_MS 500 #define RST_PIN P5_6 #define MFIO_PIN P5_4 I2C i2c(P3_4, P3_5); const int addr = 0xAA;//0x55; int main() { i2c.frequency(400000); char cmd[4]; // Initialise the digital pin LED1 as an output DigitalOut led(LED1); DigitalOut rst(RST_PIN); DigitalOut mfio(MFIO_PIN); mfio = 0; rst = 1; thread_sleep_for(10); rst = 0; thread_sleep_for(10); rst = 1; //thread_sleep_for(1500); thread_sleep_for(100); //scanI2C(); while (true) { cmd[0] = 0x02; cmd[1] = 0x00; i2c.write(addr, cmd, 2); thread_sleep_for(2); cmd[0] = 0x00; cmd[1] = 0x00; i2c.read(addr, cmd, 2); printf("1: %x %x\n", cmd[0], cmd[1]); cmd[0] = 0x01; cmd[1] = 0x00; cmd[2] = 0x00; i2c.write(addr, cmd, 3); thread_sleep_for(1500); mfio = 0; thread_sleep_for(1); cmd[0] = 0x02; cmd[1] = 0x00; i2c.write(addr, cmd, 2); thread_sleep_for(2); cmd[0] = 0x00; cmd[1] = 0x00; i2c.read(addr, cmd, 2); printf("2: %x %x\n", cmd[0], cmd[1]); cmd[0] = 0xFF; cmd[1] = 0x03; i2c.write(addr, cmd, 2); thread_sleep_for(2); cmd[0] = 0x00; cmd[1] = 0x00; cmd[2] = 0x00; cmd[3] = 0x00; i2c.read(addr, cmd, 4); printf("3: %d %d %d %d\n", cmd[0], cmd[1], cmd[2], cmd[3]); cmd[0] = 0x10; cmd[1] = 0x00; cmd[2] = 0x03; i2c.write(addr, cmd, 3); thread_sleep_for(2); cmd[0] = 0x00; cmd[1] = 0x00; i2c.read(addr, cmd, 2); printf("4: %d %d\n", cmd[0] , cmd[1]); cmd[0] = 0x10; cmd[1] = 0x01; cmd[2] = 0x01; i2c.write(addr, cmd, 3); thread_sleep_for(2); cmd[0] = 0x00; cmd[1] = 0x00; i2c.read(addr, cmd, 2); printf("5: %d %d\n", cmd[0], cmd[1]); cmd[0] = 0x10; cmd[1] = 0x02; cmd[2] = 0x01; i2c.write(addr, cmd, 3); thread_sleep_for(2); cmd[0] = 0x00; cmd[1] = 0x00; i2c.read(addr, cmd, 2); printf("6: %d %d\n", cmd[0], cmd[1]); cmd[0] = 0x44; cmd[1] = 0x04; cmd[2] = 0x01; cmd[3] = 0x01; i2c.write(addr, cmd, 4); thread_sleep_for(20); cmd[0] = 0x00; cmd[1] = 0x00; i2c.read(addr, cmd, 2); printf("7: %d %d\n", cmd[0], cmd[1]); cmd[0] = 0x41; cmd[1] = 0x04; cmd[2] = 0x0F; i2c.write(addr, cmd, 3); thread_sleep_for(2); cmd[0] = 0x00; cmd[1] = 0x00; i2c.read(addr, cmd, 2); printf("8: %d %d\n", cmd[0], cmd[1]); /*rst =! rst; mfio =! mfio;*/ thread_sleep_for(BLINKING_RATE_MS); led = !led; } }