Για τα Mbed NXP LPC1768 και FRDM KL25Z μπορείτε να χρησιμοποιήσετε την κλάση Serial του mbed ή εναλλακτικά την iSerial.
Action 1 - Serial class
Δημιουργήστε ένα στιγμιότυπο της κλάσης Serial με όνομα com
Serial com (p9, p10); // tx, rx για το NXP LPC1768
Serial com (PTE22, PTE23); // tx, rx για το FRDM KL25Z
Στη συνέχεια χρησιμοποιήστε τις μεθόδους getc και putc από την κλάση Stream, την οποία κληρονομεί η Serial (Inherits mbed::Stream), για να διαβάσετε και γράψετε χαρακτήρα από την σειριακή πόρτα σας.
int putc(int c);
int getc();
Υποστηρίζονται και οι:
int puts(const char *s);
char *gets(char *s, int size);
Το API της Serial θα βρείτε στο
https://developer.mbed.org/users/screamer/code/mbed/docs/aff670d0d510/classmbed_1_1Serial.html
Μπορείτε να αναπτύξετε πρώτα μια εφαρμογή που γράφει στην serial ένα χαρακτήρα και αμέσως μετά τον διαβάζει.
Serial host(USBTX,USBRX);
Serial com1(p9, p10);
Η main θα διαμορφωθεί όπως παρακάτω:
while(1) {
host.printf("Dwse xarakthra: ");
txChar=host.getc();
com1.putc(txChar);
rxChar=com1.getc();
host.printf("\n%c\n",rxChar);
}
Εναλλακτικά μπορεί να χρησιμοποιηθεί και η κλάση iSerial η οποία κληρονομεί την Serial.
Για την χρήση της συμπεριλάβετε τα αρχεία mbed.h και iSerial.h και δημιουργήστε το στιγμιότυπο της ως
iSerial pc(USBTX,USBRX);
Υποστηρίζει κανονικά τις
int putc(int c);
int getc();
Το API της iSerial θα βρείτε στο
https://developer.mbed.org/users/ykuroda/code/iSerial/docs/20759f992d48/iSerial_8h_source.html
Ελέγξατε για εναλλακτικές υλοποιήσεις που δεν βασίζονται στις κλάσεις Serial και iSerial του mbed. Σχολιάστε.