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 0:9b9ec8ebd3e2, committed 2018-01-22
- Comitter:
- bhimebau
- Date:
- Mon Jan 22 23:08:18 2018 +0000
- Commit message:
- Initial commit ;
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
| mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Mon Jan 22 23:08:18 2018 +0000
@@ -0,0 +1,39 @@
+#include "mbed.h"
+
+#if !DEVICE_ANALOGOUT
+#error You cannot use this example as the AnalogOut is not supported on this device.
+#else
+AnalogOut my_output(PA_4);
+#endif
+
+#define PI (3.141592653589793238462)
+#define AMPLITUDE (1.0) // x * 3.3V
+#define PHASE (PI * 1) // 2*pi is one period
+#define RANGE (0x7FFF)
+#define OFFSET (0x7FFF)
+
+// Configuration for sinewave output
+#define BUFFER_SIZE (360)
+uint16_t buffer[BUFFER_SIZE];
+
+void calculate_sinewave(void);
+
+int main() {
+ printf("Sinewave example\n");
+ calculate_sinewave();
+ while(1) {
+ // sinewave output
+ for (int i = 0; i < BUFFER_SIZE; i++) {
+ my_output.write_u16(buffer[i]);
+ wait_us(10);
+ }
+ }
+}
+
+// Create the sinewave buffer
+void calculate_sinewave(void){
+ for (int i = 0; i < BUFFER_SIZE; i++) {
+ double rads = (PI * i)/180.0; // Convert degree in radian
+ buffer[i] = (uint16_t)(AMPLITUDE * (RANGE * (cos(rads + PHASE))) + OFFSET);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Mon Jan 22 23:08:18 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/7130f322cb7e \ No newline at end of file