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".

Committer:
mega64
Date:
Mon May 09 03:20:26 2016 +0000
Revision:
2:7cc544472c34
Parent:
1:5bc8c8e22eda
Child:
3:2ca9ec946232
dac test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mega64 0:5057d688da32 1 #include "mbed.h"
mega64 0:5057d688da32 2
mega64 1:5bc8c8e22eda 3
mega64 1:5bc8c8e22eda 4
mega64 1:5bc8c8e22eda 5 #if 0
mega64 2:7cc544472c34 6
mega64 2:7cc544472c34 7 //******system clock and time functions test******
mega64 2:7cc544472c34 8
mega64 0:5057d688da32 9 DigitalOut myled(PB_0);
mega64 0:5057d688da32 10
mega64 0:5057d688da32 11 int main()
mega64 0:5057d688da32 12 {
mega64 0:5057d688da32 13
mega64 2:7cc544472c34 14 // output on MCO1 pin 41 (PA8)
mega64 0:5057d688da32 15 HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_1); // 24 MHz
mega64 2:7cc544472c34 16 // HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSE, RCC_MCODIV_1); // 8 MHz (xtal)
mega64 2:7cc544472c34 17 // HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_PLLCLK, RCC_MCODIV_1); // 12 MHz
mega64 2:7cc544472c34 18 // HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSI, RCC_MCODIV_1); // 8 MHz (RC gen)
mega64 0:5057d688da32 19
mega64 0:5057d688da32 20 while(1) {
mega64 1:5bc8c8e22eda 21 myled = 1;
mega64 2:7cc544472c34 22 wait(0.99);
mega64 2:7cc544472c34 23 myled = 0;
mega64 2:7cc544472c34 24 wait(0.01);
mega64 2:7cc544472c34 25 myled = 1;
mega64 2:7cc544472c34 26 wait(0.8);
mega64 2:7cc544472c34 27 myled = 0;
mega64 1:5bc8c8e22eda 28 wait(0.2);
mega64 2:7cc544472c34 29 myled = 1;
mega64 1:5bc8c8e22eda 30 HAL_Delay(1000);
mega64 0:5057d688da32 31 }
mega64 0:5057d688da32 32 }
mega64 1:5bc8c8e22eda 33 #endif
mega64 1:5bc8c8e22eda 34
mega64 2:7cc544472c34 35 #if 0
mega64 2:7cc544472c34 36
mega64 2:7cc544472c34 37 //******stdio UART test******
mega64 2:7cc544472c34 38
mega64 1:5bc8c8e22eda 39 //Serial pc(PA_9, PA_10); // tx, rx
mega64 1:5bc8c8e22eda 40 DigitalOut myled(PB_0);
mega64 1:5bc8c8e22eda 41
mega64 1:5bc8c8e22eda 42 int main()
mega64 1:5bc8c8e22eda 43 {
mega64 1:5bc8c8e22eda 44 myled=0;
mega64 1:5bc8c8e22eda 45 printf("Hello World!\n");
mega64 1:5bc8c8e22eda 46 while(1) {
mega64 1:5bc8c8e22eda 47 printf("Heartbeat!\n");
mega64 1:5bc8c8e22eda 48 wait(1);
mega64 1:5bc8c8e22eda 49 myled=!myled;
mega64 1:5bc8c8e22eda 50 }
mega64 1:5bc8c8e22eda 51 }
mega64 2:7cc544472c34 52 #endif
mega64 2:7cc544472c34 53
mega64 2:7cc544472c34 54
mega64 2:7cc544472c34 55
mega64 2:7cc544472c34 56 #if 1
mega64 2:7cc544472c34 57
mega64 2:7cc544472c34 58 //******DAC test******
mega64 2:7cc544472c34 59
mega64 2:7cc544472c34 60 #include <math.h>
mega64 2:7cc544472c34 61
mega64 2:7cc544472c34 62 AnalogOut dac1(PA_4);
mega64 2:7cc544472c34 63 AnalogOut dac2(PA_5);
mega64 2:7cc544472c34 64 int16_t k;
mega64 2:7cc544472c34 65 #define PI 3.14159265
mega64 2:7cc544472c34 66 #define SIN1_ARRAY_SIZE 500
mega64 2:7cc544472c34 67 uint16_t sin_data[SIN1_ARRAY_SIZE];
mega64 2:7cc544472c34 68
mega64 2:7cc544472c34 69 int main()
mega64 2:7cc544472c34 70 {
mega64 2:7cc544472c34 71 for (k=0;k<SIN1_ARRAY_SIZE;k++) {
mega64 2:7cc544472c34 72 sin_data[k]= (1.0+sin(1.0*k/SIN1_ARRAY_SIZE*2.0*PI))/2*0xFFFF;
mega64 2:7cc544472c34 73 };
mega64 2:7cc544472c34 74
mega64 2:7cc544472c34 75 k=0;
mega64 2:7cc544472c34 76 while (1) {
mega64 2:7cc544472c34 77 dac1.write_u16 (sin_data[k]);
mega64 2:7cc544472c34 78 k++;
mega64 2:7cc544472c34 79 if (k>=SIN1_ARRAY_SIZE) {
mega64 2:7cc544472c34 80 k=0;
mega64 2:7cc544472c34 81 };
mega64 2:7cc544472c34 82 dac2.write_u16(1.0*0xFFFF*k/SIN1_ARRAY_SIZE);
mega64 2:7cc544472c34 83 wait_us(25);
mega64 2:7cc544472c34 84 }
mega64 2:7cc544472c34 85
mega64 2:7cc544472c34 86
mega64 2:7cc544472c34 87 }
mega64 1:5bc8c8e22eda 88 #endif