Elena Tosetti
/
Nucleo_toggle_ios_EXAMPLE
My GPIO tests
Fork of Nucleo_toggle_ios by
main.cpp@2:2ac6cdd61c87, 2018-02-22 (annotated)
- Committer:
- ElenaTosetti
- Date:
- Thu Feb 22 15:38:20 2018 +0000
- Revision:
- 2:2ac6cdd61c87
- Parent:
- 0:04d55bfd084e
Added loop
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tulanthoar | 0:04d55bfd084e | 1 | #include "mbed.h" |
ElenaTosetti | 2:2ac6cdd61c87 | 2 | |
ElenaTosetti | 2:2ac6cdd61c87 | 3 | |
ElenaTosetti | 2:2ac6cdd61c87 | 4 | #include <string.h> |
ElenaTosetti | 2:2ac6cdd61c87 | 5 | |
ElenaTosetti | 2:2ac6cdd61c87 | 6 | #define BAUD_RATE 115200 |
ElenaTosetti | 2:2ac6cdd61c87 | 7 | |
ElenaTosetti | 2:2ac6cdd61c87 | 8 | |
ElenaTosetti | 2:2ac6cdd61c87 | 9 | |
ElenaTosetti | 2:2ac6cdd61c87 | 10 | DigitalOut PA9IOs(PA_9); |
ElenaTosetti | 2:2ac6cdd61c87 | 11 | DigitalOut PA10IOs(PA_10); |
ElenaTosetti | 2:2ac6cdd61c87 | 12 | DigitalOut PA11IOs(PA_11); |
ElenaTosetti | 2:2ac6cdd61c87 | 13 | DigitalOut PA12IOs(PA_12); |
ElenaTosetti | 2:2ac6cdd61c87 | 14 | |
ElenaTosetti | 2:2ac6cdd61c87 | 15 | DigitalOut PB4IOs(PB_4); |
ElenaTosetti | 2:2ac6cdd61c87 | 16 | DigitalOut PB5IOs(PB_5); |
ElenaTosetti | 2:2ac6cdd61c87 | 17 | DigitalOut PB6IOs(PB_6); |
ElenaTosetti | 2:2ac6cdd61c87 | 18 | DigitalOut PB7IOs(PB_7); |
ElenaTosetti | 2:2ac6cdd61c87 | 19 | |
ElenaTosetti | 2:2ac6cdd61c87 | 20 | DigitalOut PB12IOs(PB_12); |
ElenaTosetti | 2:2ac6cdd61c87 | 21 | DigitalOut PB13IOs(PB_13); |
ElenaTosetti | 2:2ac6cdd61c87 | 22 | DigitalOut PB14IOs(PB_14); |
ElenaTosetti | 2:2ac6cdd61c87 | 23 | DigitalOut PB15IOs(PB_15); |
ElenaTosetti | 2:2ac6cdd61c87 | 24 | |
ElenaTosetti | 2:2ac6cdd61c87 | 25 | DigitalOut PC6IOs(PC_6); |
ElenaTosetti | 2:2ac6cdd61c87 | 26 | DigitalOut PC7IOs(PC_7); |
ElenaTosetti | 2:2ac6cdd61c87 | 27 | DigitalOut PC8IOs(PC_8); |
ElenaTosetti | 2:2ac6cdd61c87 | 28 | DigitalOut PC9IOs(PC_9); |
ElenaTosetti | 2:2ac6cdd61c87 | 29 | |
ElenaTosetti | 2:2ac6cdd61c87 | 30 | Serial s(USBTX, USBRX); //default for nrf51 is p0.09 p0.11 |
ElenaTosetti | 2:2ac6cdd61c87 | 31 | |
ElenaTosetti | 2:2ac6cdd61c87 | 32 | |
ElenaTosetti | 2:2ac6cdd61c87 | 33 | // Command string |
ElenaTosetti | 2:2ac6cdd61c87 | 34 | char action[256]; |
ElenaTosetti | 2:2ac6cdd61c87 | 35 | char command[12]; |
ElenaTosetti | 2:2ac6cdd61c87 | 36 | unsigned short val; |
ElenaTosetti | 2:2ac6cdd61c87 | 37 | |
ElenaTosetti | 2:2ac6cdd61c87 | 38 | #define N_ITERATIONS 1120 |
ElenaTosetti | 2:2ac6cdd61c87 | 39 | void gpio_action(){ |
ElenaTosetti | 2:2ac6cdd61c87 | 40 | // for(i = 0; i <= 1119; i++) |
ElenaTosetti | 2:2ac6cdd61c87 | 41 | // { |
ElenaTosetti | 2:2ac6cdd61c87 | 42 | PA9IOs = 0; // SET PA9 |
ElenaTosetti | 2:2ac6cdd61c87 | 43 | PB4IOs = 0; // SET PB4 |
ElenaTosetti | 2:2ac6cdd61c87 | 44 | PC6IOs = 0; // SET PC6 |
ElenaTosetti | 2:2ac6cdd61c87 | 45 | PB12IOs = 0; // SET PB12 |
ElenaTosetti | 2:2ac6cdd61c87 | 46 | wait(10); // wait 440 seconds |
ElenaTosetti | 2:2ac6cdd61c87 | 47 | PA10IOs = 0; // SET PA10 |
ElenaTosetti | 2:2ac6cdd61c87 | 48 | PB5IOs = 0; // SET PB5 |
ElenaTosetti | 2:2ac6cdd61c87 | 49 | PC7IOs = 0; // SET PC7 |
ElenaTosetti | 2:2ac6cdd61c87 | 50 | PB13IOs = 0; // SET PB13 |
ElenaTosetti | 2:2ac6cdd61c87 | 51 | wait(2.5); // wait 2.5 seconds |
ElenaTosetti | 2:2ac6cdd61c87 | 52 | PA10IOs = 1; // RESET PA10 |
ElenaTosetti | 2:2ac6cdd61c87 | 53 | PB5IOs = 1; // RESET PB5 |
ElenaTosetti | 2:2ac6cdd61c87 | 54 | PC7IOs = 1; // RESET PC7 |
ElenaTosetti | 2:2ac6cdd61c87 | 55 | PB13IOs = 1; // RESET PB13 |
ElenaTosetti | 2:2ac6cdd61c87 | 56 | //} |
ElenaTosetti | 2:2ac6cdd61c87 | 57 | } |
ElenaTosetti | 2:2ac6cdd61c87 | 58 | |
ElenaTosetti | 2:2ac6cdd61c87 | 59 | int i; |
ElenaTosetti | 2:2ac6cdd61c87 | 60 | int run = 1; |
tulanthoar | 0:04d55bfd084e | 61 | |
ElenaTosetti | 2:2ac6cdd61c87 | 62 | int main() { |
ElenaTosetti | 2:2ac6cdd61c87 | 63 | |
ElenaTosetti | 2:2ac6cdd61c87 | 64 | s.baud(BAUD_RATE); |
ElenaTosetti | 2:2ac6cdd61c87 | 65 | |
ElenaTosetti | 2:2ac6cdd61c87 | 66 | //Reset EN_1_1 and EN_1_2 |
ElenaTosetti | 2:2ac6cdd61c87 | 67 | PA9IOs = 1; // RESET PA9 |
ElenaTosetti | 2:2ac6cdd61c87 | 68 | PA10IOs = 1; // RESET PA10 |
ElenaTosetti | 2:2ac6cdd61c87 | 69 | //Reset EN_2_1 and EN_2_2 |
ElenaTosetti | 2:2ac6cdd61c87 | 70 | PB4IOs = 1; // RESET PB4 |
ElenaTosetti | 2:2ac6cdd61c87 | 71 | PB5IOs = 1; // RESET PB5 |
ElenaTosetti | 2:2ac6cdd61c87 | 72 | //Reset EN_3_1 and EN_3_2 |
ElenaTosetti | 2:2ac6cdd61c87 | 73 | PB12IOs = 1; // RESET PB12 |
ElenaTosetti | 2:2ac6cdd61c87 | 74 | PB13IOs = 1; // RESET PB13 |
ElenaTosetti | 2:2ac6cdd61c87 | 75 | //Reset EN_4_1 and EN_4_2 |
ElenaTosetti | 2:2ac6cdd61c87 | 76 | PC6IOs = 1; // RESET PC6 |
ElenaTosetti | 2:2ac6cdd61c87 | 77 | PC7IOs = 1; // RESET PC7 |
ElenaTosetti | 2:2ac6cdd61c87 | 78 | run: |
ElenaTosetti | 2:2ac6cdd61c87 | 79 | s.printf("Action:\r\n"); |
ElenaTosetti | 2:2ac6cdd61c87 | 80 | int count; |
ElenaTosetti | 2:2ac6cdd61c87 | 81 | s.scanf( "%s %d" , action, &count); |
ElenaTosetti | 2:2ac6cdd61c87 | 82 | if (strstr(action, "START") != NULL){ |
ElenaTosetti | 2:2ac6cdd61c87 | 83 | i = 0; |
ElenaTosetti | 2:2ac6cdd61c87 | 84 | s.printf("START command\r\n"); |
ElenaTosetti | 2:2ac6cdd61c87 | 85 | while(i<count && run){ |
ElenaTosetti | 2:2ac6cdd61c87 | 86 | s.printf("Start iteration %d\r\n", i); |
ElenaTosetti | 2:2ac6cdd61c87 | 87 | gpio_action(); |
ElenaTosetti | 2:2ac6cdd61c87 | 88 | s.printf("Done iteration %d\r\n", i); |
ElenaTosetti | 2:2ac6cdd61c87 | 89 | i++; |
ElenaTosetti | 2:2ac6cdd61c87 | 90 | } |
ElenaTosetti | 2:2ac6cdd61c87 | 91 | |
ElenaTosetti | 2:2ac6cdd61c87 | 92 | goto run; |
ElenaTosetti | 2:2ac6cdd61c87 | 93 | |
ElenaTosetti | 2:2ac6cdd61c87 | 94 | } else { |
ElenaTosetti | 2:2ac6cdd61c87 | 95 | |
ElenaTosetti | 2:2ac6cdd61c87 | 96 | s.printf("ERROR: %s unhandled action\r\n",action); |
ElenaTosetti | 2:2ac6cdd61c87 | 97 | } |
ElenaTosetti | 2:2ac6cdd61c87 | 98 | |
ElenaTosetti | 2:2ac6cdd61c87 | 99 | |
ElenaTosetti | 2:2ac6cdd61c87 | 100 | |
ElenaTosetti | 2:2ac6cdd61c87 | 101 | |
ElenaTosetti | 2:2ac6cdd61c87 | 102 | |
ElenaTosetti | 2:2ac6cdd61c87 | 103 | |
ElenaTosetti | 2:2ac6cdd61c87 | 104 | |
tulanthoar | 0:04d55bfd084e | 105 | } |
tulanthoar | 0:04d55bfd084e | 106 |