simple tests for STM32F100R6 microcontroller with dedicated library

Dependencies:   mbed-STM32F100R6

To compile a program with this library, use NUCLEO-F103RB as the target name. !

Change only one "#if" to "#if 1" to select the desired test. Others "#if" must be "#if 0".

Revision:
2:7cc544472c34
Parent:
1:5bc8c8e22eda
Child:
3:2ca9ec946232
--- a/main.cpp	Mon Jan 25 21:44:56 2016 +0000
+++ b/main.cpp	Mon May 09 03:20:26 2016 +0000
@@ -3,30 +3,39 @@
 
 
 #if 0
+
+//******system clock and time functions test******
+
 DigitalOut myled(PB_0);
 
 int main()
 {
 
-// sysclk test
+// output on MCO1 pin 41 (PA8)
     HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_1); // 24 MHz
+//    HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSE, RCC_MCODIV_1); // 8 MHz (xtal)
+//    HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_PLLCLK, RCC_MCODIV_1); // 12 MHz
+//    HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSI, RCC_MCODIV_1); // 8 MHz (RC gen)
 
     while(1) {
         myled = 1;
-        wait(0.99); 
-        myled = 0; 
-        wait(0.01); 
-        myled = 1; 
-        wait(0.8); 
-        myled = 0; 
+        wait(0.99);
+        myled = 0;
+        wait(0.01);
+        myled = 1;
+        wait(0.8);
+        myled = 0;
         wait(0.2);
-        myled = 1; 
+        myled = 1;
         HAL_Delay(1000);
     }
 }
 #endif
 
-#if 1
+#if 0
+
+//******stdio UART test******
+
 //Serial pc(PA_9, PA_10); // tx, rx
 DigitalOut myled(PB_0);
 
@@ -40,4 +49,40 @@
         myled=!myled;
     }
 }
+#endif
+
+
+
+#if 1
+
+//******DAC test******
+
+#include <math.h>
+
+AnalogOut dac1(PA_4);
+AnalogOut dac2(PA_5);
+int16_t k;
+#define PI 3.14159265
+#define SIN1_ARRAY_SIZE 500
+uint16_t sin_data[SIN1_ARRAY_SIZE];
+
+int main()
+{
+    for (k=0;k<SIN1_ARRAY_SIZE;k++) {
+        sin_data[k]= (1.0+sin(1.0*k/SIN1_ARRAY_SIZE*2.0*PI))/2*0xFFFF;
+    };
+
+    k=0;
+    while (1) {
+        dac1.write_u16 (sin_data[k]);
+        k++;
+        if (k>=SIN1_ARRAY_SIZE) {
+            k=0;
+        };
+        dac2.write_u16(1.0*0xFFFF*k/SIN1_ARRAY_SIZE);
+        wait_us(25);
+    }
+
+
+}
 #endif
\ No newline at end of file