Uebung Serielle Schnittstelle - Interrupt
Dependencies: mbed
main.cpp
- Committer:
- Powers
- Date:
- 2019-01-31
- Revision:
- 0:82fe2f4476f9
File content as of revision 0:82fe2f4476f9:
#include "mbed.h" // Uebung mit serieller Schnittstelle und Interrupts // Ausgabe - SERIAL // Programm wartet auf eine Eingabe, der String wird dann jeweils um // die Eingabe erweitert // RESET durch Eingabe von '.' [PUNKT] class SerialEvent { private: Serial _connection; bool _flag; int _x; public: SerialEvent(PinName tx, PinName rx): _connection(tx, rx) // Construktor { _connection.attach(callback(this, &SerialEvent::readSerial)); } char content[200]; void readSerial(void); bool checkFlag(void); }; void SerialEvent::readSerial(void) { if (_connection.readable()) content[_x] = _connection.getc(); if (content[_x] == '.') { content[_x] = '\0'; _x = 0; _flag = 0; int y = 0; while(content[y] != '\0') { content[y] = '\0'; y++; } y = 0; } else { _x++; _flag = 1; } } bool SerialEvent::checkFlag(void) { return _flag; } SerialEvent connectme(USBTX, USBRX); // Neues Objekt erstellen und übergabe von TX und RX int main() { // Ausgabe des momentanen Status sowie dem attachten String while(1) { printf("Flag Status: %i String: %s \n", connectme.checkFlag(), connectme.content); wait_ms(200); } }