Thomas Van Aken
/
bartho
test
main.cpp@2:8fd249f35ceb, 2021-02-08 (annotated)
- Committer:
- TVA
- Date:
- Mon Feb 08 20:38:11 2021 +0000
- Revision:
- 2:8fd249f35ceb
- Parent:
- 1:397813654863
- Child:
- 3:0e37515b92f1
test3
Who changed what in which revision?
User | Revision | Line number | New 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 | 2:8fd249f35ceb | 60 | i2c.write(addr, cmd, 2); |
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 | 0:8491d8911089 | 97 | |
TVA | 0:8491d8911089 | 98 | /*rst =! rst; |
TVA | 0:8491d8911089 | 99 | mfio =! mfio;*/ |
TVA | 0:8491d8911089 | 100 | thread_sleep_for(BLINKING_RATE_MS); |
TVA | 0:8491d8911089 | 101 | led = !led; |
TVA | 0:8491d8911089 | 102 | } |
TVA | 0:8491d8911089 | 103 | } |