diff --git a/modbus_master.c b/modbus_master.c deleted file mode 100644 index 7f06022..0000000 --- a/modbus_master.c +++ /dev/null @@ -1,55 +0,0 @@ -#include "modbus_master.h" -#include "modbus.h" -#include - -#include - -uint8_t wait_receive(uint8_t len, uint16_t dest[], uint8_t timeout){ - - uint8_t breaker = timeout; - while(!receiveOkay && breaker) { //wait for client response, time out after 1s - breaker--; - _delay_ms(10); - } - - if(receiveOkay) { //if this fails, there was either no response or a crc error - if(rxbuffer[1]&0x80) { //client responded with an error code - //handle the error - printf("error\n\r"); - return -1; - } - else { - for(uint8_t x=0;x 8 bytes). You might want to check this at this point. - dest[x]=(rxbuffer[3+x*2]<<8)+rxbuffer[4+x*2]; //do sth with the acquired data. - } - } - - } - return 0; -} - -void readReg(uint8_t slaveid, uint16_t address, uint8_t amount) { - _delay_ms(2); - rxbuffer[0]=slaveid; - modbusSetAddress(slaveid); - rxbuffer[1]=0x03; - rxbuffer[2]=(address>>8)&0xFF; - rxbuffer[3]=address&0xFF; - rxbuffer[4]=0x00; - rxbuffer[5]=amount; - modbusSendMessage(5); -} - -void writeReg(uint8_t slaveid, uint16_t address, uint16_t value) { - _delay_ms(2); - rxbuffer[0]=slaveid; - modbusSetAddress(slaveid); - rxbuffer[1]=0x06; - rxbuffer[2]=(address>>8)&0xFF; - rxbuffer[3]=address&0xFF; - rxbuffer[4]=(value>>8)&0xFF;; - rxbuffer[5]=value&0xFF; - modbusSendMessage(5); -} - - diff --git a/modbus_master.h b/modbus_master.h deleted file mode 100644 index f666884..0000000 --- a/modbus_master.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef _MODBUS_MASTER_H_ -#define _MODBUS_MASTER_H_ - -#include - -#define receiveOkay (modbusGetBusState() & (1<