diff options
-rw-r--r-- | examples/test-serial-flush.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/examples/test-serial-flush.cpp b/examples/test-serial-flush.cpp new file mode 100644 index 0000000..d7fbf7a --- /dev/null +++ b/examples/test-serial-flush.cpp @@ -0,0 +1,45 @@ +// Tests the "flush" Serial function + +#include "wirish.h" + +void setup() +{ + /* Send a message out USART2 */ + Serial2.begin(9600); + Serial2.println("Hello world!"); +} + +int toggle = 0; + +void loop() { + + Serial2.println("This is the first line."); + Serial2.end(); + Serial2.println("This is the second line."); + + Serial2.begin(9600); + Serial2.println("Waiting for multiple input..."); + while(Serial2.available() < 5) { } + Serial2.println(Serial2.read()); + Serial2.println(Serial2.read()); + Serial2.flush(); + if(Serial2.available()) { + Serial2.println("FAIL! Still had junk in the buffer..."); + } +} + +// Force init to be called *first*, i.e. before static object allocation. +// Otherwise, statically allocated object that need libmaple may fail. + __attribute__(( constructor )) void premain() { + init(); +} + +int main(void) +{ + setup(); + + while (1) { + loop(); + } + return 0; +} |