test

Committer:
TVA
Date:
Mon Feb 08 20:59:53 2021 +0000
Revision:
3:0e37515b92f1
Parent:
2:8fd249f35ceb
Child:
4:40d23f4295f9
Working!!!!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TVA 0:8491d8911089 1 /* mbed Microcontroller Library
TVA 0:8491d8911089 2 * Copyright (c) 2019 ARM Limited
TVA 0:8491d8911089 3 * SPDX-License-Identifier: Apache-2.0
TVA 0:8491d8911089 4 */
TVA 0:8491d8911089 5
TVA 0:8491d8911089 6 #include "mbed.h"
TVA 0:8491d8911089 7 #include "platform/mbed_thread.h"
TVA 0:8491d8911089 8
TVA 0:8491d8911089 9
TVA 0:8491d8911089 10 // Blinking rate in milliseconds
TVA 0:8491d8911089 11 #define BLINKING_RATE_MS 500
TVA 0:8491d8911089 12
TVA 0:8491d8911089 13 #define RST_PIN P5_6
TVA 0:8491d8911089 14 #define MFIO_PIN P5_4
TVA 0:8491d8911089 15
TVA 0:8491d8911089 16 I2C i2c(P3_4, P3_5);
TVA 0:8491d8911089 17
TVA 2:8fd249f35ceb 18 const int addr = 0xAA;//0x55;
TVA 0:8491d8911089 19
TVA 0:8491d8911089 20 int main()
TVA 0:8491d8911089 21 {
TVA 0:8491d8911089 22 i2c.frequency(400000);
TVA 0:8491d8911089 23 char cmd[4];
TVA 1:397813654863 24
TVA 0:8491d8911089 25 // Initialise the digital pin LED1 as an output
TVA 0:8491d8911089 26 DigitalOut led(LED1);
TVA 0:8491d8911089 27 DigitalOut rst(RST_PIN);
TVA 0:8491d8911089 28 DigitalOut mfio(MFIO_PIN);
TVA 0:8491d8911089 29
TVA 2:8fd249f35ceb 30 mfio = 0;
TVA 0:8491d8911089 31 rst = 1;
TVA 0:8491d8911089 32 thread_sleep_for(10);
TVA 0:8491d8911089 33 rst = 0;
TVA 0:8491d8911089 34 thread_sleep_for(10);
TVA 0:8491d8911089 35 rst = 1;
TVA 2:8fd249f35ceb 36 //thread_sleep_for(1500);
TVA 2:8fd249f35ceb 37 thread_sleep_for(100);
TVA 2:8fd249f35ceb 38
TVA 2:8fd249f35ceb 39 //scanI2C();
TVA 0:8491d8911089 40
TVA 0:8491d8911089 41 while (true) {
TVA 0:8491d8911089 42 cmd[0] = 0x02;
TVA 0:8491d8911089 43 cmd[1] = 0x00;
TVA 0:8491d8911089 44 i2c.write(addr, cmd, 2);
TVA 0:8491d8911089 45 thread_sleep_for(2);
TVA 0:8491d8911089 46
TVA 0:8491d8911089 47 cmd[0] = 0x00;
TVA 0:8491d8911089 48 cmd[1] = 0x00;
TVA 0:8491d8911089 49 i2c.read(addr, cmd, 2);
TVA 0:8491d8911089 50 printf("1: %x %x\n", cmd[0], cmd[1]);
TVA 0:8491d8911089 51
TVA 0:8491d8911089 52
TVA 2:8fd249f35ceb 53
TVA 2:8fd249f35ceb 54
TVA 2:8fd249f35ceb 55
TVA 2:8fd249f35ceb 56
TVA 2:8fd249f35ceb 57 cmd[0] = 0x01;
TVA 2:8fd249f35ceb 58 cmd[1] = 0x00;
TVA 2:8fd249f35ceb 59 cmd[2] = 0x00;
TVA 3:0e37515b92f1 60 i2c.write(addr, cmd, 3);
TVA 2:8fd249f35ceb 61 thread_sleep_for(1500);
TVA 2:8fd249f35ceb 62
TVA 2:8fd249f35ceb 63
TVA 2:8fd249f35ceb 64
TVA 2:8fd249f35ceb 65 mfio = 0;
TVA 2:8fd249f35ceb 66 thread_sleep_for(1);
TVA 2:8fd249f35ceb 67
TVA 2:8fd249f35ceb 68
TVA 2:8fd249f35ceb 69
TVA 2:8fd249f35ceb 70
TVA 2:8fd249f35ceb 71
TVA 2:8fd249f35ceb 72 cmd[0] = 0x02;
TVA 2:8fd249f35ceb 73 cmd[1] = 0x00;
TVA 2:8fd249f35ceb 74 i2c.write(addr, cmd, 2);
TVA 2:8fd249f35ceb 75 thread_sleep_for(2);
TVA 2:8fd249f35ceb 76
TVA 2:8fd249f35ceb 77 cmd[0] = 0x00;
TVA 2:8fd249f35ceb 78 cmd[1] = 0x00;
TVA 2:8fd249f35ceb 79 i2c.read(addr, cmd, 2);
TVA 2:8fd249f35ceb 80 printf("2: %x %x\n", cmd[0], cmd[1]);
TVA 2:8fd249f35ceb 81
TVA 2:8fd249f35ceb 82
TVA 2:8fd249f35ceb 83
TVA 2:8fd249f35ceb 84
TVA 2:8fd249f35ceb 85
TVA 0:8491d8911089 86 cmd[0] = 0xFF;
TVA 0:8491d8911089 87 cmd[1] = 0x03;
TVA 0:8491d8911089 88 i2c.write(addr, cmd, 2);
TVA 0:8491d8911089 89 thread_sleep_for(2);
TVA 0:8491d8911089 90
TVA 0:8491d8911089 91 cmd[0] = 0x00;
TVA 0:8491d8911089 92 cmd[1] = 0x00;
TVA 0:8491d8911089 93 cmd[2] = 0x00;
TVA 0:8491d8911089 94 cmd[3] = 0x00;
TVA 0:8491d8911089 95 i2c.read(addr, cmd, 4);
TVA 2:8fd249f35ceb 96 printf("3: %d %d %d %d\n", cmd[0], cmd[1], cmd[2], cmd[3]);
TVA 3:0e37515b92f1 97
TVA 3:0e37515b92f1 98
TVA 3:0e37515b92f1 99
TVA 3:0e37515b92f1 100
TVA 3:0e37515b92f1 101 cmd[0] = 0x10;
TVA 3:0e37515b92f1 102 cmd[1] = 0x00;
TVA 3:0e37515b92f1 103 cmd[2] = 0x03;
TVA 3:0e37515b92f1 104
TVA 3:0e37515b92f1 105 i2c.write(addr, cmd, 3);
TVA 3:0e37515b92f1 106 thread_sleep_for(2);
TVA 3:0e37515b92f1 107
TVA 3:0e37515b92f1 108 cmd[0] = 0x00;
TVA 3:0e37515b92f1 109 cmd[1] = 0x00;
TVA 3:0e37515b92f1 110 i2c.read(addr, cmd, 2);
TVA 3:0e37515b92f1 111 printf("4: %d %d\n", cmd[0] , cmd[1]);
TVA 3:0e37515b92f1 112
TVA 3:0e37515b92f1 113
TVA 3:0e37515b92f1 114
TVA 3:0e37515b92f1 115
TVA 3:0e37515b92f1 116
TVA 3:0e37515b92f1 117
TVA 3:0e37515b92f1 118 cmd[0] = 0x10;
TVA 3:0e37515b92f1 119 cmd[1] = 0x01;
TVA 3:0e37515b92f1 120 cmd[2] = 0x01;
TVA 3:0e37515b92f1 121
TVA 3:0e37515b92f1 122 i2c.write(addr, cmd, 3);
TVA 3:0e37515b92f1 123 thread_sleep_for(2);
TVA 3:0e37515b92f1 124
TVA 3:0e37515b92f1 125 cmd[0] = 0x00;
TVA 3:0e37515b92f1 126 cmd[1] = 0x00;
TVA 3:0e37515b92f1 127 i2c.read(addr, cmd, 2);
TVA 3:0e37515b92f1 128 printf("5: %d %d\n", cmd[0], cmd[1]);
TVA 3:0e37515b92f1 129
TVA 3:0e37515b92f1 130
TVA 3:0e37515b92f1 131
TVA 3:0e37515b92f1 132
TVA 3:0e37515b92f1 133
TVA 3:0e37515b92f1 134
TVA 3:0e37515b92f1 135 cmd[0] = 0x10;
TVA 3:0e37515b92f1 136 cmd[1] = 0x02;
TVA 3:0e37515b92f1 137 cmd[2] = 0x01;
TVA 3:0e37515b92f1 138
TVA 3:0e37515b92f1 139 i2c.write(addr, cmd, 3);
TVA 3:0e37515b92f1 140 thread_sleep_for(2);
TVA 3:0e37515b92f1 141
TVA 3:0e37515b92f1 142 cmd[0] = 0x00;
TVA 3:0e37515b92f1 143 cmd[1] = 0x00;
TVA 3:0e37515b92f1 144 i2c.read(addr, cmd, 2);
TVA 3:0e37515b92f1 145 printf("6: %d %d\n", cmd[0], cmd[1]);
TVA 3:0e37515b92f1 146
TVA 3:0e37515b92f1 147
TVA 3:0e37515b92f1 148
TVA 3:0e37515b92f1 149
TVA 3:0e37515b92f1 150
TVA 3:0e37515b92f1 151
TVA 3:0e37515b92f1 152 cmd[0] = 0x44;
TVA 3:0e37515b92f1 153 cmd[1] = 0x04;
TVA 3:0e37515b92f1 154 cmd[2] = 0x01;
TVA 3:0e37515b92f1 155 cmd[3] = 0x01;
TVA 3:0e37515b92f1 156
TVA 3:0e37515b92f1 157 i2c.write(addr, cmd, 4);
TVA 3:0e37515b92f1 158 thread_sleep_for(20);
TVA 3:0e37515b92f1 159
TVA 3:0e37515b92f1 160 cmd[0] = 0x00;
TVA 3:0e37515b92f1 161 cmd[1] = 0x00;
TVA 3:0e37515b92f1 162 i2c.read(addr, cmd, 2);
TVA 3:0e37515b92f1 163 printf("7: %d %d\n", cmd[0], cmd[1]);
TVA 3:0e37515b92f1 164
TVA 3:0e37515b92f1 165
TVA 3:0e37515b92f1 166
TVA 3:0e37515b92f1 167
TVA 3:0e37515b92f1 168
TVA 3:0e37515b92f1 169 cmd[0] = 0x41;
TVA 3:0e37515b92f1 170 cmd[1] = 0x04;
TVA 3:0e37515b92f1 171 cmd[2] = 0x0F;
TVA 3:0e37515b92f1 172
TVA 3:0e37515b92f1 173 i2c.write(addr, cmd, 3);
TVA 3:0e37515b92f1 174 thread_sleep_for(2);
TVA 3:0e37515b92f1 175
TVA 3:0e37515b92f1 176 cmd[0] = 0x00;
TVA 3:0e37515b92f1 177 cmd[1] = 0x00;
TVA 3:0e37515b92f1 178 i2c.read(addr, cmd, 2);
TVA 3:0e37515b92f1 179 printf("8: %d %d\n", cmd[0], cmd[1]);
TVA 3:0e37515b92f1 180
TVA 3:0e37515b92f1 181
TVA 3:0e37515b92f1 182
TVA 3:0e37515b92f1 183
TVA 3:0e37515b92f1 184
TVA 0:8491d8911089 185
TVA 0:8491d8911089 186 /*rst =! rst;
TVA 0:8491d8911089 187 mfio =! mfio;*/
TVA 0:8491d8911089 188 thread_sleep_for(BLINKING_RATE_MS);
TVA 0:8491d8911089 189 led = !led;
TVA 0:8491d8911089 190 }
TVA 0:8491d8911089 191 }