teste de publish

Dependencies:   DS1820 HighSpeedAnalogIn devices mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers modbusMaster1.h Source File

modbusMaster1.h

00001 #include "mbed.h"
00002 #include "cmsis_os.h"   //Nucleo do Real Time Operational System
00003 #include "main.h"
00004 #ifndef _modbus_master_
00005 #define _modbus_master_
00006      
00007 #define maxLenBufModBus 850
00008 
00009 
00010 
00011 namespace modBusMaster1{        
00012     extern Serial *serModBus;
00013     extern uint16_t T3_5;
00014     extern uint16_t T1_5;
00015     extern uint16_t MODBUS_SERIAL_BAUD;
00016     extern uint16_t MODBUS_TIMEOUT;    
00017     extern DigitalOut *de;
00018     extern uint8_t buffer[maxLenBufModBus]; //Buffer in e out;
00019     extern uint16_t index;    
00020     extern bool pacoteEmEspera;
00021     extern bool pacoteEmEsperaValido;
00022     extern bool startThreadModBusMaster;
00023     extern osTimerId timer_pacote;
00024     
00025     //Functions
00026     uint16_t CRC16(uint8_t*,uint16_t); //Ponteiro para buffer e len
00027     void modBusMaster(Serial *,uint32_t,DigitalOut *); //Objeto serial, objeto DigitalOut
00028     void setBaud(uint32_t); //Seta baudrate
00029     uint8_t readFloat(uint8_t,uint8_t,uint16_t,uint16_t,float*); //Endereço slave, funcCode, registrador, quantidade de registros,ponteiro para registros float
00030     uint8_t writeFloat(uint8_t,uint16_t,uint8_t,float*); //Endereço slave, registrador, quantidade de registros,ponteiro para registros float
00031     uint8_t writeRegister16BIT(uint8_t,uint16_t,uint16_t,uint16_t*); //Endereço slave, registrador, quantidade de registros,ponteiro para registros uint16_t
00032     uint8_t writeRegister32BIT(uint8_t,uint16_t,uint16_t,uint32_t*); //Endereço slave, registrador, quantidade de registros,ponteiro para registros uint32_t
00033     uint8_t readRegister16BIT(uint8_t,uint8_t,uint16_t,uint16_t,uint16_t*); //Endereço slave, funcao, registrador, quantidade de registros,ponteiro para registros uint16_t
00034     uint8_t readRegister32BIT(uint8_t,uint8_t,uint16_t,uint16_t,uint32_t*); //Endereço slave, funcao, registrador, quantidade de registros,ponteiro para registros uint32_t
00035     uint16_t sendFrame(uint16_t); //Quantidade de caracteres;
00036     uint8_t readCoils(uint8_t,uint16_t,uint16_t,bool*); //Endereço slave, registrador, quantidade de registros, ponteiro para bool
00037     uint8_t writeSingleCoil(uint8_t,uint16_t,bool); //Endereço slave, registrador, bool
00038     void processaCaractere();    
00039     void processaPacote(void const *);
00040 };
00041 #endif