Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 110:a930767c281c, committed 2021-10-01
- Comitter:
- CSTritt
- Date:
- Fri Oct 01 03:05:20 2021 +0000
- Parent:
- 109:b061f9830736
- Commit message:
- First Mbed v. 5 version.
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Fri Oct 01 02:45:38 2021 +0000 +++ b/main.cpp Fri Oct 01 03:05:20 2021 +0000 @@ -1,29 +1,43 @@ /* -Project: 21_Button-v5 +Project: 21_TimerTest2_v5 File: main.cpp - -Toogles LED1 when USER_BUTTON is tapped. Note LED1 is also PA_5 which is -also D13. Based on built-in mbed example Nucleo_read_button. Holding the button -down will result in LED flashing. + +Tests timer peformance. Display new time difference with each button press +and release. Differences of 4 or 5 microseconds are typical. -Modified 12 Aug 2017 by Dr. Sheila Ross -Last revised 9/30/21 by Dr. C. S. Tritt +Last modified 9/30/21 by C. S. Tritt (v. 1.0) */ - #include "mbed.h" - -// Construct a digital input linked to the USER_BUTTON. -DigitalIn myButton(USER_BUTTON); // Built in blue button. - -// Construct a digital output linked to LED1. -DigitalOut myLed(LED1); // Built-in green LED. - + +// Construct a USER_BUTTON digital input. +DigitalIn myButton(USER_BUTTON); + +// Construct a timer object. +Timer myTimer; + +// Construct a transmit only serial connection over our USB. +Serial pc(USBTX, NC, 9600); + int main() { + myTimer.start(); // Start the timer. + while(true) { // Main loop. - if (myButton == 0) { // Button is active low. - myLed = !myLed; // Toggle LED on/off. - ThisThread::sleep_for(100); // Avoid double-tap, 0.1 seconds. + if (myButton == 0) { // Button is pressed (active low). + // Save the time on timer. + int firstTime = myTimer.read_us(); + int secondTime = myTimer.read_us(); + + // Send the time as text via the serial port. + pc.printf("Time difference %i microseconds.\n", secondTime - + firstTime ); + + // Reset the timer. + myTimer.reset(); + + // Wait for the user to release the button. + while(myButton == 0) { + } } } } \ No newline at end of file