解决时间重启不重启
This commit is contained in:
@ -64,7 +64,8 @@ double slave::getMLX(){
|
||||
|
||||
void slave::getWehter(){
|
||||
|
||||
while (my485Port->read()!=-1);
|
||||
// while (my485Port->read()!=-1);
|
||||
clearSerialBuffer();
|
||||
my485Port->write(a,8);
|
||||
delay(90);
|
||||
for (int j = 0; j <17 ; ++j) {
|
||||
@ -84,7 +85,8 @@ void slave::getWehter(){
|
||||
}
|
||||
|
||||
float slave::getYuliang(){
|
||||
while (my485Port->read()!=-1);
|
||||
//while (my485Port->read()!=-1);
|
||||
clearSerialBuffer();
|
||||
my485Port->write(yuliang,8);
|
||||
delay(90);
|
||||
|
||||
@ -103,7 +105,8 @@ float slave::getYuliang(){
|
||||
|
||||
int32_t slave::getYuliangfuliang(){
|
||||
|
||||
while (my485Port->read()!=-1);
|
||||
//while (my485Port->read()!=-1);
|
||||
clearSerialBuffer();
|
||||
my485Port->write(yuliangfuliangdu,8);
|
||||
delay(90);
|
||||
|
||||
@ -122,7 +125,8 @@ int32_t slave::getYuliangfuliang(){
|
||||
/// 返回1,表示ok
|
||||
uint8_t slave::claeryuliang(){
|
||||
|
||||
while (my485Port->read()!=-1);
|
||||
clearSerialBuffer();
|
||||
//while (my485Port->read()!=-1);
|
||||
my485Port->write(ClearYL,8);
|
||||
delay(90);
|
||||
for (int j = 0; j <8; ++j) {
|
||||
@ -132,4 +136,12 @@ uint8_t slave::claeryuliang(){
|
||||
return 1;
|
||||
}
|
||||
|
||||
void slave::clearSerialBuffer() {
|
||||
unsigned long startTime = millis();
|
||||
while (my485Port->read() != -1) {
|
||||
if (millis() - startTime > 1000) { // 超时保护 100ms
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user