My GPIO tests

Fork of Nucleo_toggle_ios by Nathan Yonkee

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?

UserRevisionLine numberNew 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