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".
main.cpp@2:7cc544472c34, 2016-05-09 (annotated)
- 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?
User | Revision | Line number | New 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 |