|
|
|
@ -34,7 +34,7 @@ void do_kraftsensor(){
|
|
|
|
|
|
|
|
|
|
|
|
/* read 2 16bit values and merge to 32bit signed integer */
|
|
|
|
/* read 2 16bit values and merge to 32bit signed integer */
|
|
|
|
readReg(1,0,2);
|
|
|
|
readReg(1,0,2);
|
|
|
|
if(wait_receive(2, m_data, 10)){
|
|
|
|
if(wait_receive(2, m_data, 100)){
|
|
|
|
kraftsensor_valid = 0;
|
|
|
|
kraftsensor_valid = 0;
|
|
|
|
printf("modbus error\n\r");
|
|
|
|
printf("modbus error\n\r");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -73,8 +73,9 @@ uint8_t wait_receive(uint8_t len, uint16_t dest[], uint8_t timeout){
|
|
|
|
while(!receiveOkay && breaker) { //wait for client response, time out after 1s
|
|
|
|
while(!receiveOkay && breaker) { //wait for client response, time out after 1s
|
|
|
|
breaker--;
|
|
|
|
breaker--;
|
|
|
|
_delay_ms(1);
|
|
|
|
_delay_ms(1);
|
|
|
|
|
|
|
|
if(breaker==0)
|
|
|
|
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
printf("breaker: %d\n\r", breaker);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(receiveOkay) { //if this fails, there was either no response or a crc error
|
|
|
|
if(receiveOkay) { //if this fails, there was either no response or a crc error
|
|
|
|
if(rxbuffer[1]&0x80) { //client responded with an error code
|
|
|
|
if(rxbuffer[1]&0x80) { //client responded with an error code
|
|
|
|
|