Skip to content

Serial3.setTimeout(...) is not expiring with the rx line always idle. #119

Open
@MaurizioMalaspina

Description

@MaurizioMalaspina

The following code never ends (it loops inside the " Serial3.readString() " ** when and only when the rx line is always HIGH** ('1' logic):

String rxReply;  

Serial3.begin(1200, SERIAL_8N1);

while(!Serial3);

Serial3.setTimeout(200); // 200 is just an example and if you print Serial3.getTimeout() you'll get the right result

rxReply = Serial3.readString();

// When the rx line stays high ('1' logic)  the execution never arrives here, as if the 200ms time-out never expired
// Conversely the code is properly executed when the rx line is low ('0' logic)

Serial.print(rxReply);

Could you take a look at this anomalous behaviour?

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions