teste de publish

Dependencies:   DS1820 HighSpeedAnalogIn devices mbed

Revision:
25:a6da63ed025b
Parent:
18:1eefda1f7736
Child:
26:c246eacf6815
--- a/modbusMaster1.cpp	Wed Feb 07 23:05:36 2018 +0000
+++ b/modbusMaster1.cpp	Mon Apr 16 12:30:29 2018 +0000
@@ -12,6 +12,7 @@
 }modBusFunctions;
 
 bool modBusMaster1::pacoteEmEspera;
+uint16_t modBusMaster1::MODBUS_TIMEOUT;
 bool modBusMaster1::startThreadModBusMaster;
 Serial *modBusMaster1::serModBus;
 DigitalOut *modBusMaster1::de;
@@ -30,14 +31,14 @@
     uint16_t crc_calculado;
     uint16_t crc_lido;
     
-    #ifdef modbusDebug
-    //Lido resposta DEBUG
-    pc.printf("Lido de resposta modbus <");
-    for(crc_lido = 0; crc_lido < modBusMaster1::index; crc_lido++){
-        pc.printf("%02X ",modBusMaster1::buffer[crc_lido]);
+    if(debug){
+        //Lido resposta DEBUG
+        pc.printf("Lido de resposta modbus <");
+        for(crc_lido = 0; crc_lido < modBusMaster1::index; crc_lido++){
+            pc.printf("%02X ",modBusMaster1::buffer[crc_lido]);
+        }
+        pc.printf(">.\n");
     }
-    pc.printf(">.\n");
-    #endif
     if(modBusMaster1::index<3){
         modBusMaster1::pacoteEmEspera=false;
         return;
@@ -80,13 +81,17 @@
     *modBusMaster1::de = 0;
     modBusMaster1::serModBus->attach(&modBusMaster1::processaCaractere);
     modBusMaster1::serModBus->baud(baud);
-    modBusMaster1::pacoteEmEspera = false;  
-    modBusMaster1::MODBUS_SERIAL_BAUD = baud;
-    
+    modBusMaster1::pacoteEmEspera = false;    
     //Criando timer_pacote
     modBusMaster1::timer_pacote = osTimerCreate(osTimer(timerProcessaPacoteModBusMaster1),osTimerOnce,NULL);              
 }
 
+void modBusMaster1::setBaud(uint32_t baud){    
+    modBusMaster1::serModBus->baud(baud);    
+}
+
+
+
 void modBusMaster1::processaCaractere(){
     uint32_t RBR = LPC_UART1->RBR;      //Reset RBR interrupt flag e captura o caractere entrante
     modBusMaster1::buffer[modBusMaster1::index]=RBR;
@@ -101,16 +106,16 @@
 }
 
 uint16_t modBusMaster1::sendFrame(uint16_t tamBytes){
-    uint16_t timeout = 500;
+    uint16_t timeout = modBusMaster1::MODBUS_TIMEOUT;
     uint16_t i;
-    #ifdef modbusDebug
-    //DEBUG Mostrando o que é enviado via modbus
-    pc.printf("Frame enviado (hexa) <");
-    for(i=0;i<tamBytes;i++){       
-        pc.printf("%02x ",modBusMaster1::buffer[i]);                
-    }                
-    pc.printf(">.\n");
-    #endif
+    if(debug){
+        //DEBUG Mostrando o que é enviado via modbus
+        pc.printf("Frame enviado (hexa) <");
+        for(i=0;i<tamBytes;i++){       
+            pc.printf("%02x ",modBusMaster1::buffer[i]);                
+        }                
+        pc.printf(">.\n");
+    }
     
     osDelay(5);