
TEST GUARIA2
main.cpp
- Committer:
- mvargas_dtk
- Date:
- 2022-08-27
- Revision:
- 0:cb19c7be20b9
- Child:
- 1:67969835e6a7
File content as of revision 0:cb19c7be20b9:
/* mbed Microcontroller Library * Copyright (c) 2019 ARM Limited * SPDX-License-Identifier: Apache-2.0 */ #include "mbed.h" #include "platform/mbed_thread.h" #include <stdio.h> #include <string.h> #include <math.h> #include "BufferedSerial.h" DigitalOut led1(PB_4); DigitalOut led2(PB_12); DigitalOut BT_RST(PB_5); InterruptIn Button (PC_13); DigitalOut Stby_can(PD_3); DigitalOut reg_3v3(PC_10); DigitalOut reg_5v(PB_10); DigitalIn bt_state (PA_15); DigitalIn in1 (PA_7); DigitalIn in2 (PB_0); DigitalIn in3 (PB_1); DigitalIn in4 (PF_10); DigitalIn in5 (PA_4); DigitalIn in6 (PA_5); DigitalIn in7 (PA_6); DigitalIn in8 (PB_3); BufferedSerial RS232_2(PC_12, PE_7); BufferedSerial RS232_1(PD_8, PD_9,1536, 1); //Serial RS232_1(PD_8, PD_9); BufferedSerial RS485(PC_6, PC_7); BufferedSerial BT(PA_9, PA_10,1536 ,1); //Serial BT(PA_9, PA_10); BufferedSerial TTL(PA_2, PA_3); BufferedSerial vm(PA_0, PA_1); DigitalOut OUT1(PB_13); //Salidas activas en bajo DigitalOut OUT2(PB_14); //Salidas activas en bajo DigitalOut OUT3(PB_15); //Salidas activas en bajo DigitalOut OUT4(PC_0); //Salidas activas en bajo ////////////////////////////////////////////////////////////////////////////// int main() { Stby_can = 0; led1 = 0; led2 = 0; BT_RST = 1; char datoUSB[1311]; char ONOUTS[] = "ONOUTS"; char OFFOUTS[] = "OFFOUTS"; char ONOUT1[] = "ONOUT1"; char ONOUT2[] = "ONOUT2"; char ONOUT3[] = "ONOUT3"; char ONOUT4[] = "ONOUT4"; char ANTO[] = "ANTO"; char ON3V3[] = "ON3V3"; char OFF3V3[] = "OFF3V3"; char RSTBT[] = "RSTBT"; char ON5V[] = "ON5V"; char OFF5V[] = "OFF5V"; char datox; int x; int y = 0; int i = 0; BT.baud(9600); RS232_1.baud(115200); RS232_2.baud(115200); RS485.baud(115200); TTL.baud(115200); vm.baud(9600); wait_us(1000000); BT.printf("Inicio\n"); RS232_1.printf("Inicio\n"); RS232_2.printf("Inicio\n"); reg_3v3 = 0; reg_5v = 0; x = 0; wait_us(1000000); ////////////////////////////////////////////////////////////////////////////// while (true) { x = 0; led1 = !led1; led2 = !led2; /* BT.printf("Prueba Salidas\n"); RS232_1.printf("Prueba Salidas\n"); RS232_2.printf("Prueba Salidas\n"); TTL.printf("Prueba Salidas\n"); RS485.printf("Prueba Salidas\n");*/ BT.printf("in1 = %d, in2 = %d , in3 = %d, in4 = %d, in5 = %d, in6 = %d, in7 = %d, in8 = %d \r\n",in1.read(),in2.read(),in3.read(),in4.read(), in5.read(),in6.read(),in7.read(),in8.read()); RS232_1.printf("in1 = %d, in2 = %d , in3 = %d, in4 = %d, in5 = %d, in6 = %d, in7 = %d, in8 = %d \r\n",in1.read(),in2.read(),in3.read(),in4.read(), in5.read(),in6.read(),in7.read(),in8.read()); RS232_2.printf("in1 = %d, in2 = %d , in3 = %d, in4 = %d, in5 = %d, in6 = %d, in7 = %d, in8 = %d \r\n",in1.read(),in2.read(),in3.read(),in4.read(), in5.read(),in6.read(),in7.read(),in8.read()); TTL.printf("in1 = %d, in2 = %d , in3 = %d, in4 = %d, in5 = %d, in6 = %d, in7 = %d, in8 = %d \r\n",in1.read(),in2.read(),in3.read(),in4.read(), in5.read(),in6.read(),in7.read(),in8.read()); RS485.printf("in1 = %d, in2 = %d , in3 = %d, in4 = %d, in5 = %d, in6 = %d, in7 = %d, in8 = %d \r\n",in1.read(),in2.read(),in3.read(),in4.read(), in5.read(),in6.read(),in7.read(),in8.read()); if (((bt_state.read())==1)&&(y==0)){ BT.printf("Bluetooth Conectado\r\n"); RS232_1.printf("Bluetooth Conectado\r\n"); RS232_2.printf("Bluetooth Conectado\r\n"); RS485.printf("Bluetooth Conectado\r\n"); TTL.printf("Bluetooth Conectado\r\n"); vm.putc(0XAA); vm.putc(0X07); vm.putc(0X02); vm.putc(0X00); vm.putc(0X01); vm.putc(0XB4); y = 1; } while(RS232_1.readable()) { datox = RS232_1.getc(); wait_us(5000); datoUSB[x] = datox; x++; } while(BT.readable()) { datox = BT.getc(); wait_us(5000); datoUSB[x] = datox; x++; } while(RS232_2.readable()) { datox = RS232_2.getc(); wait_us(5000); datoUSB[x] = datox; x++; } while(TTL.readable()) { datox = TTL.getc(); wait_us(5000); datoUSB[x] = datox; x++; } while(RS485.readable()) { datox = RS485.getc(); wait_us(5000); datoUSB[x] = datox; x++; } if (x != 0) { datoUSB[x] = '\0'; BT.printf("DATA: %s\r\n", datoUSB); BT.printf("\nCaracteres: %d\r\n", x); BT.printf("\r\n"); BT.printf("\r\n"); RS232_1.printf("DATA: %s\r\n", datoUSB); RS232_1.printf("\nCaracteres: %d\r\n", x); RS232_1.printf("\r\n"); RS232_1.printf("\r\n"); RS232_2.printf("DATA: %s\r\n", datoUSB); RS232_2.printf("\nCaracteres: %d\r\n", x); RS232_2.printf("\r\n"); RS232_2.printf("\r\n"); TTL.printf("DATA: %s\r\n", datoUSB); TTL.printf("\nCaracteres: %d\r\n", x); TTL.printf("\r\n"); TTL.printf("\r\n"); if(strcmp(ONOUTS,datoUSB) == 0) { OUT1 = OUT2 = OUT3 = OUT4 = 1; i= 1; BT.printf("Salidas activadas\r\n"); RS232_1.printf("Salidas activadas\r\n"); RS232_2.printf("Salidas activadas\r\n"); TTL.printf("Salidas activadas\r\n"); RS485.printf("Salidas activadas\r\n"); vm.putc(0XAA); vm.putc(0X07); vm.putc(0X02); vm.putc(0X00); vm.putc(0X0A); vm.putc(0XBD); } else if(strcmp(OFFOUTS,datoUSB) == 0) { OUT1 = OUT2 = OUT3 = OUT4 = 0; i= 1; BT.printf("Salidas desactivadas\r\n"); RS232_1.printf("Salidas desactivadas\r\n"); RS232_2.printf("Salidas desactivadas\r\n"); RS485.printf("Salidas desactivadas\r\n"); TTL.printf("Salidas desactivadas\r\n"); vm.putc(0XAA); vm.putc(0X07); vm.putc(0X02); vm.putc(0X00); vm.putc(0X0B); vm.putc(0XBE); } else if(strcmp(ONOUT1,datoUSB) == 0) { OUT2 = OUT3 = OUT4 = 0; OUT1 = 1; i= 1; BT.printf("Salida 1 Activada\r\n"); RS232_1.printf("Salida 1 Activada\r\n"); RS232_2.printf("Salida 1 Activada\r\n"); RS485.printf("Salida 1 Activada\r\n"); TTL.printf("Salida 1 Activada\r\n"); vm.putc(0XAA); vm.putc(0X07); vm.putc(0X02); vm.putc(0X00); vm.putc(0X02); vm.putc(0XB5); } else if(strcmp(ONOUT2,datoUSB) == 0) { OUT1 = OUT3 = OUT4 = 0; OUT2 = 1; i= 1; BT.printf("Salida 2 Activada\r\n"); RS232_1.printf("Salida 2 Activada\r\n"); RS232_2.printf("Salida 2 Activada\r\n"); RS485.printf("Salida 2 Activada\r\n"); TTL.printf("Salida 2 Activada\r\n"); vm.putc(0XAA); vm.putc(0X07); vm.putc(0X02); vm.putc(0X00); vm.putc(0X03); vm.putc(0XB6); } else if(strcmp(ONOUT3,datoUSB) == 0) { OUT1 = OUT2 = OUT4 = 0; OUT3 = 1; i= 1; BT.printf("Salida 3 Activada\r\n"); RS232_1.printf("Salida 3 Activada\r\n"); RS232_2.printf("Salida 3 Activada\r\n"); RS485.printf("Salida 3 Activada\r\n"); TTL.printf("Salida 3 Activada\r\n"); vm.putc(0XAA); vm.putc(0X07); vm.putc(0X02); vm.putc(0X00); vm.putc(0X04); vm.putc(0XB7); } else if(strcmp(ONOUT4,datoUSB) == 0) { OUT1 = OUT2 = OUT3 = 0; OUT4 = 1; i= 1; BT.printf("Salida 4 Activada\r\n"); RS232_1.printf("Salida 4 Activada\r\n"); RS232_2.printf("Salida 4 Activada\r\n"); RS485.printf("Salida 4 Activada\r\n"); TTL.printf("Salida 4 Activada\r\n"); vm.putc(0XAA); vm.putc(0X07); vm.putc(0X02); vm.putc(0X00); vm.putc(0X05); vm.putc(0XB8); } else if(strcmp(ON3V3,datoUSB) == 0) { reg_3v3 = 1; BT.printf("Regulador 3.3V activado\r\n"); RS232_1.printf("Regulador 3.3V activado\r\n"); RS232_2.printf("Regulador 3.3V activado\r\n"); RS485.printf("Regulador 3.3V activado\r\n"); TTL.printf("Regulador 3.3V activado\r\n"); vm.putc(0XAA); vm.putc(0X07); vm.putc(0X02); vm.putc(0X00); vm.putc(0X06); vm.putc(0XB9); } else if(strcmp(OFF3V3,datoUSB) == 0) { reg_3v3 = 0; BT.printf("Regulador 3.3V desactivado\r\n"); RS232_1.printf("Regulador 3.3V desactivado\r\n"); RS232_2.printf("Regulador 3.3V desactivado\r\n"); RS485.printf("Regulador 3.3V desactivado\r\n"); TTL.printf("Regulador 3.3V desactivado\r\n"); vm.putc(0XAA); vm.putc(0X07); vm.putc(0X02); vm.putc(0X00); vm.putc(0X07); vm.putc(0XBA); } else if(strcmp(RSTBT,datoUSB) == 0) { BT_RST = 0; wait_us(100000); BT_RST = 1; y = 0; BT.printf("Reset BT\r\n"); RS232_1.printf("Reset BT\r\n"); RS232_2.printf("Reset BT\r\n"); RS485.printf("Reset BT\r\n"); TTL.printf("Reset BT\r\n"); } else if(strcmp(ON5V,datoUSB) == 0) { reg_5v = 1; BT.printf("Regulador 5V activado\r\n"); RS232_1.printf("Regulador 5V activado\r\n"); RS232_2.printf("Regulador 5V activado\r\n"); RS485.printf("Regulador 5V activado\r\n"); TTL.printf("Regulador 5V activado\r\n"); vm.putc(0XAA); vm.putc(0X07); vm.putc(0X02); vm.putc(0X00); vm.putc(0X08); vm.putc(0XBB); } else if(strcmp(OFF5V,datoUSB) == 0) { reg_5v = 0; BT.printf("Regulador 5V desactivado\r\n"); RS232_1.printf("Regulador 5V desactivado\r\n"); RS232_2.printf("Regulador 5V desactivado\r\n"); RS485.printf("Regulador 5V desactivado\r\n"); TTL.printf("Regulador 5V desactivado\r\n"); vm.putc(0XAA); vm.putc(0X07); vm.putc(0X02); vm.putc(0X00); vm.putc(0X09); vm.putc(0XBC); } else if(strcmp(ANTO,datoUSB) == 0) { vm.putc(0XAA); vm.putc(0X07); vm.putc(0X02); vm.putc(0X00); vm.putc(0X0C); vm.putc(0XBF); } else{ BT.printf("COMANDO INVALIDO\n"); RS232_1.printf("COMANDO INVALIDO\n"); RS232_2.printf("COMANDO INVALIDO\n"); RS485.printf("COMANDO INVALIDO\n"); TTL.printf("COMANDO INVALIDO\n"); } } wait_us(3000000); }//while true }//main