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;
}
}