test

main.cpp

Committer:
TVA
Date:
2021-02-08
Revision:
1:397813654863
Parent:
0:8491d8911089
Child:
2:8fd249f35ceb

File content as of revision 1:397813654863:

/* 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 = 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 = 1;
    rst = 1;
    thread_sleep_for(10);
    rst = 0;
    thread_sleep_for(10);
    rst = 1;
    thread_sleep_for(1500);
    
    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] = 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("2: %d %d %d %d\n", cmd[0], cmd[1], cmd[2], cmd[3]);

        /*rst =! rst;
        mfio =! mfio;*/
        thread_sleep_for(BLINKING_RATE_MS);
        led = !led;
    }
}