test

main.cpp

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

File content as of revision 2:8fd249f35ceb:

/* 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, 2);
        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]);

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