Κατανόηση της συνάρτησης Serial.readString().
Η συνάρτηση Serial.readString() είναι μέρος της Σειριακής Βιβλιοθήκης Arduino, η οποία επιτρέπει την επικοινωνία μεταξύ του μικροελεγκτή και του υπολογιστή ή άλλων εξωτερικών συσκευών.
Αυτή η λειτουργία επιτρέπει στον μικροελεγκτή να διαβάζει μια σειρά χαρακτήρων που αποστέλλονται από μια σειριακή σύνδεση. Η συνάρτηση διαβάζει δεδομένα από το σειριακό buffer και επιστρέφει τα δεδομένα με τη μορφή ενός αντικειμένου συμβολοσειράς.
Αυτή η συνάρτηση κληρονομείται από την κλάση Stream.
Σύνταξη
Η σύνταξη αυτής της συνάρτησης είναι η εξής:
Κατα συρροη. readString ( )
Παράμετροι
Αυτή η λειτουργία δεν λαμβάνει καμία παράμετρο. Διαβάζει μόνο το αντικείμενο σειριακής θύρας.
Επιστροφές
Επιστρέφει μια συμβολοσειρά που περιέχει τους χαρακτήρες που λαμβάνονται μέσω της σειριακής θύρας. Η συμβολοσειρά τελειώνει με τον τελευταίο χαρακτήρα που ελήφθη, ο οποίος είναι συχνά χαρακτήρας νέας γραμμής (\n). Εάν δεν υπάρχουν διαθέσιμοι χαρακτήρες στο σειριακό buffer, η συνάρτηση επιστρέφει μια κενή συμβολοσειρά (“”).
Σημείωση: Εάν ο χαρακτήρας τελικής γραμμής είναι διαθέσιμος στα δεδομένα, η λειτουργία δεν θα τερματιστεί νωρίς. Η συμβολοσειρά που επιστρέφεται μπορεί να περιέχει τους χαρακτήρες επιστροφής μεταφοράς.
Παράδειγμα κώδικα
Ο παρακάτω κώδικας δείχνει τη χρήση της συνάρτησης Serial.readString() στον προγραμματισμό Arduino:
Ο παρακάτω κώδικας δείχνει τη χρήση της συνάρτησης Serial.readString() στον προγραμματισμό Arduino:
κενός εγκατάσταση ( ) {Κατα συρροη. αρχίζουν ( 9600 ) ;
}
κενός βρόχος ( ) {
Κατα συρροη. println ( 'Εισαγωγή δεδομένων:' ) ;
ενώ ( Κατα συρροη. διαθέσιμος ( ) == 0 ) { } //περιμένετε για διαθέσιμα δεδομένα
String teststr = Κατα συρροη. readString ( ) ; //διαβάστε μέχρι το χρονικό όριο
teststr. τακτοποίηση ( ) ; // αφαιρέστε οποιοδήποτε \r \n κενό διάστημα από το τέλος συμβολοσειράς
Κατα συρροη. Τυπώνω ( 'Εισαγωγή δεδομένων: ' ) ;
Κατα συρροη. println ( teststr ) ;
αν ( teststr == 'Γειά σου' ) {
Κατα συρροη. println ( 'Γεια και σε εσενα!' ) ;
} αλλού {
Κατα συρροη. println ( «Συγγνώμη, δεν κατάλαβα τη γνώμη σας». ) ;
}
}
Στο εγκατάσταση () Η λειτουργία σειριακής επικοινωνίας είναι ενεργοποιημένη χρησιμοποιώντας ρυθμό baud 9600.
Στο βρόχος() λειτουργία, ο κωδικός προτρέπει τον χρήστη να εισαγάγει δεδομένα εκτυπώνοντας το 'Enter data:' στη σειριακή οθόνη. Στη συνέχεια, περιμένει τα δεδομένα να είναι διαθέσιμα ελέγχοντας εάν η σειριακή προσωρινή μνήμη είναι άδεια χρησιμοποιώντας τη συνάρτηση Serial.available().
Μόλις τα δεδομένα είναι διαθέσιμα, ο κώδικας διαβάζει τα δεδομένα ως συμβολοσειρά χρησιμοποιώντας τη συνάρτηση Serial.readString() και αφαιρεί τυχόν χαρακτήρες κενού διαστήματος στο τέλος της συμβολοσειράς χρησιμοποιώντας τη συνάρτηση trim().
Στη συνέχεια, ο κώδικας συγκρίνει τη συμβολοσειρά εισόδου με τη συμβολοσειρά 'γεια'. Αν η συμβολοσειρά εισόδου είναι 'Γειά σου' , ο κωδικός αποκρίνεται με εκτύπωση 'Γεια και σε εσενα!' στη σειριακή οθόνη. Διαφορετικά, τυπώνει 'Λυπάμαι, δεν κατάλαβα τη γνώμη σας'. στη σειριακή οθόνη. Στη συνέχεια, η συνάρτηση loop() επαναλαμβάνεται, ζητώντας από το χρήστη περισσότερες πληροφορίες.
Παραγωγή
Στην έξοδο μπορούμε να δούμε διαφορετικές συμβολοσειρές που διαβάζει ο κώδικας από τον χρήστη και τον αντιστοιχίζει με τη συμβολοσειρά 'γεια'.
συμπέρασμα
Η συνάρτηση Serial.readString() στο Arduino διαβάζει σειριακά δεδομένα που αποστέλλονται από έναν υπολογιστή ή άλλες συσκευές στην πλακέτα. Χρησιμοποιώντας αυτή τη λειτουργία, μπορούμε να διαβάσουμε και να συγκρίνουμε τα δεδομένα σειριακής συμβολοσειράς εισόδου για να δημιουργήσουμε αποκρίσεις εξόδου, όπως αισθητήρες ελέγχου και συσκευές υλικού.