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