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.
main.cpp@2:e2441887b6d5, 2021-10-20 (annotated)
- Committer:
- aleksey136
- Date:
- Wed Oct 20 15:33:27 2021 +0000
- Revision:
- 2:e2441887b6d5
- Parent:
- 1:2b60776a9c3d
Added
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
aleksey136 | 0:dcb769be307b | 1 | /* mbed Microcontroller Library |
aleksey136 | 0:dcb769be307b | 2 | * Copyright (c) 2019 ARM Limited |
aleksey136 | 0:dcb769be307b | 3 | * SPDX-License-Identifier: Apache-2.0 |
aleksey136 | 0:dcb769be307b | 4 | */ |
aleksey136 | 0:dcb769be307b | 5 | |
aleksey136 | 0:dcb769be307b | 6 | #include "mbed.h" |
aleksey136 | 0:dcb769be307b | 7 | #include "platform/mbed_thread.h" |
aleksey136 | 0:dcb769be307b | 8 | |
aleksey136 | 0:dcb769be307b | 9 | // Blinking rate in milliseconds |
aleksey136 | 0:dcb769be307b | 10 | //#define BLINKING_RATE_MS 5000 |
aleksey136 | 0:dcb769be307b | 11 | |
aleksey136 | 0:dcb769be307b | 12 | /*DigitalIn mybutton(USER_BUTTON); |
aleksey136 | 0:dcb769be307b | 13 | DigitalOut myled(LED1); |
aleksey136 | 0:dcb769be307b | 14 | |
aleksey136 | 0:dcb769be307b | 15 | int main() |
aleksey136 | 0:dcb769be307b | 16 | { |
aleksey136 | 0:dcb769be307b | 17 | mybutton.mode(PullUp); |
aleksey136 | 0:dcb769be307b | 18 | |
aleksey136 | 0:dcb769be307b | 19 | while(1) { |
aleksey136 | 0:dcb769be307b | 20 | printf("Button state is: %d\n\r", mybutton.read()); |
aleksey136 | 0:dcb769be307b | 21 | |
aleksey136 | 0:dcb769be307b | 22 | if (mybutton == 0) { // Button is pressed |
aleksey136 | 0:dcb769be307b | 23 | |
aleksey136 | 0:dcb769be307b | 24 | myled = !myled; // Toggle the LED state |
aleksey136 | 0:dcb769be307b | 25 | wait_ms(200); // 200 ms |
aleksey136 | 0:dcb769be307b | 26 | } |
aleksey136 | 0:dcb769be307b | 27 | } |
aleksey136 | 0:dcb769be307b | 28 | }*/ |
aleksey136 | 0:dcb769be307b | 29 | |
aleksey136 | 0:dcb769be307b | 30 | /*PwmOut PWM1(LED1); |
aleksey136 | 0:dcb769be307b | 31 | |
aleksey136 | 0:dcb769be307b | 32 | int main() |
aleksey136 | 0:dcb769be307b | 33 | { |
aleksey136 | 0:dcb769be307b | 34 | PWM1.period(0.500); // set PWM period to 10 ms |
aleksey136 | 0:dcb769be307b | 35 | PWM1=0.5; // set duty cycle to 50% |
aleksey136 | 0:dcb769be307b | 36 | }*/ |
aleksey136 | 0:dcb769be307b | 37 | |
aleksey136 | 1:2b60776a9c3d | 38 | /*Serial pc(USBTX, USBRX); // tx, rx |
aleksey136 | 0:dcb769be307b | 39 | PwmOut led(LED1); |
aleksey136 | 0:dcb769be307b | 40 | float brightness=0.0; |
aleksey136 | 0:dcb769be307b | 41 | |
aleksey136 | 0:dcb769be307b | 42 | int main() |
aleksey136 | 0:dcb769be307b | 43 | { |
aleksey136 | 0:dcb769be307b | 44 | pc.printf("Control of LED dimmer by host terminal\n\r"); |
aleksey136 | 0:dcb769be307b | 45 | pc.printf("Press 'u' = brighter, 'd' = dimmer\n\r"); |
aleksey136 | 0:dcb769be307b | 46 | while(1) { |
aleksey136 | 0:dcb769be307b | 47 | char c = pc.getc(); |
aleksey136 | 0:dcb769be307b | 48 | wait(0.001); |
aleksey136 | 0:dcb769be307b | 49 | if((c == 'u') && (brightness < 0.1)) { |
aleksey136 | 0:dcb769be307b | 50 | brightness += 0.001; |
aleksey136 | 0:dcb769be307b | 51 | led = brightness; |
aleksey136 | 0:dcb769be307b | 52 | } |
aleksey136 | 0:dcb769be307b | 53 | |
aleksey136 | 0:dcb769be307b | 54 | if((c == 'd') && (brightness > 0.0)) { |
aleksey136 | 0:dcb769be307b | 55 | brightness -= 0.001; |
aleksey136 | 0:dcb769be307b | 56 | led = brightness; |
aleksey136 | 0:dcb769be307b | 57 | } |
aleksey136 | 0:dcb769be307b | 58 | pc.printf("%c %1.3f \n \r",c,brightness); |
aleksey136 | 0:dcb769be307b | 59 | } |
aleksey136 | 1:2b60776a9c3d | 60 | }*/ |
aleksey136 | 1:2b60776a9c3d | 61 | |
aleksey136 | 1:2b60776a9c3d | 62 | /*AnalogIn my_adc(PA_7); //D11 on board |
aleksey136 | 1:2b60776a9c3d | 63 | DigitalOut led(LED1); |
aleksey136 | 1:2b60776a9c3d | 64 | |
aleksey136 | 1:2b60776a9c3d | 65 | int main() |
aleksey136 | 1:2b60776a9c3d | 66 | { |
aleksey136 | 1:2b60776a9c3d | 67 | printf("\nSTM32 ADC example\n"); |
aleksey136 | 1:2b60776a9c3d | 68 | |
aleksey136 | 1:2b60776a9c3d | 69 | while(1) { |
aleksey136 | 1:2b60776a9c3d | 70 | printf("ADC read = %f\n\r", (my_adc.read()*100)); |
aleksey136 | 1:2b60776a9c3d | 71 | led = !led; |
aleksey136 | 1:2b60776a9c3d | 72 | wait_ms(1000); |
aleksey136 | 1:2b60776a9c3d | 73 | } |
aleksey136 | 1:2b60776a9c3d | 74 | }*/ |
aleksey136 | 1:2b60776a9c3d | 75 | |
aleksey136 | 2:e2441887b6d5 | 76 | /*DigitalIn mybutton(D7); |
aleksey136 | 1:2b60776a9c3d | 77 | DigitalOut myled(LED1); |
aleksey136 | 1:2b60776a9c3d | 78 | |
aleksey136 | 1:2b60776a9c3d | 79 | int main() { |
aleksey136 | 1:2b60776a9c3d | 80 | |
aleksey136 | 1:2b60776a9c3d | 81 | mybutton.mode(PullNone); |
aleksey136 | 1:2b60776a9c3d | 82 | |
aleksey136 | 1:2b60776a9c3d | 83 | while(1) { |
aleksey136 | 1:2b60776a9c3d | 84 | |
aleksey136 | 1:2b60776a9c3d | 85 | printf("Button state is: %d\n\r", mybutton.read()); |
aleksey136 | 1:2b60776a9c3d | 86 | |
aleksey136 | 1:2b60776a9c3d | 87 | if (mybutton == 0) { // Button is pressed |
aleksey136 | 1:2b60776a9c3d | 88 | |
aleksey136 | 1:2b60776a9c3d | 89 | myled = !myled; // Toggle the LED state |
aleksey136 | 1:2b60776a9c3d | 90 | wait(0.2); // 200 ms |
aleksey136 | 1:2b60776a9c3d | 91 | } |
aleksey136 | 1:2b60776a9c3d | 92 | } |
aleksey136 | 2:e2441887b6d5 | 93 | }*/ |
aleksey136 | 2:e2441887b6d5 | 94 | |
aleksey136 | 2:e2441887b6d5 | 95 | DigitalOut led(LED1); |
aleksey136 | 2:e2441887b6d5 | 96 | DigitalIn mybutton1(A4); |
aleksey136 | 2:e2441887b6d5 | 97 | DigitalIn mybutton2(A5); |
aleksey136 | 2:e2441887b6d5 | 98 | DigitalIn mybutton3(D2); |
aleksey136 | 2:e2441887b6d5 | 99 | DigitalIn mybutton4(D7); |
aleksey136 | 2:e2441887b6d5 | 100 | DigitalOut rele(D3); |
aleksey136 | 2:e2441887b6d5 | 101 | |
aleksey136 | 2:e2441887b6d5 | 102 | int main() |
aleksey136 | 2:e2441887b6d5 | 103 | { |
aleksey136 | 2:e2441887b6d5 | 104 | int a=0; |
aleksey136 | 2:e2441887b6d5 | 105 | mybutton1.mode(PullNone); |
aleksey136 | 2:e2441887b6d5 | 106 | mybutton2.mode(PullNone); |
aleksey136 | 2:e2441887b6d5 | 107 | mybutton3.mode(PullNone); |
aleksey136 | 2:e2441887b6d5 | 108 | mybutton4.mode(PullNone); |
aleksey136 | 2:e2441887b6d5 | 109 | |
aleksey136 | 2:e2441887b6d5 | 110 | while(1) { |
aleksey136 | 2:e2441887b6d5 | 111 | led = 1; |
aleksey136 | 2:e2441887b6d5 | 112 | rele = 0; |
aleksey136 | 2:e2441887b6d5 | 113 | if (mybutton1.read()==0){ |
aleksey136 | 2:e2441887b6d5 | 114 | if (a==0){ |
aleksey136 | 2:e2441887b6d5 | 115 | printf("Button1 state is: %d\n\r", mybutton1.read()); |
aleksey136 | 2:e2441887b6d5 | 116 | a=a+1; |
aleksey136 | 2:e2441887b6d5 | 117 | wait(0.2); |
aleksey136 | 2:e2441887b6d5 | 118 | } |
aleksey136 | 2:e2441887b6d5 | 119 | } |
aleksey136 | 2:e2441887b6d5 | 120 | if (mybutton2.read()==0){ |
aleksey136 | 2:e2441887b6d5 | 121 | if (a==1){ |
aleksey136 | 2:e2441887b6d5 | 122 | printf("Button2 state is: %d\n\r", mybutton2.read()); |
aleksey136 | 2:e2441887b6d5 | 123 | a++; |
aleksey136 | 2:e2441887b6d5 | 124 | wait(0.2); |
aleksey136 | 2:e2441887b6d5 | 125 | } |
aleksey136 | 2:e2441887b6d5 | 126 | else{ |
aleksey136 | 2:e2441887b6d5 | 127 | a=0; |
aleksey136 | 2:e2441887b6d5 | 128 | wait(0.2); |
aleksey136 | 2:e2441887b6d5 | 129 | } |
aleksey136 | 2:e2441887b6d5 | 130 | } |
aleksey136 | 2:e2441887b6d5 | 131 | if (mybutton3.read()==0){ |
aleksey136 | 2:e2441887b6d5 | 132 | if (a==2){ |
aleksey136 | 2:e2441887b6d5 | 133 | printf("Button3 state is: %d\n\r", mybutton3.read()); |
aleksey136 | 2:e2441887b6d5 | 134 | a++; |
aleksey136 | 2:e2441887b6d5 | 135 | wait(0.2); |
aleksey136 | 2:e2441887b6d5 | 136 | } |
aleksey136 | 2:e2441887b6d5 | 137 | else{ |
aleksey136 | 2:e2441887b6d5 | 138 | a=0; |
aleksey136 | 2:e2441887b6d5 | 139 | wait(0.2); |
aleksey136 | 2:e2441887b6d5 | 140 | } |
aleksey136 | 2:e2441887b6d5 | 141 | } |
aleksey136 | 2:e2441887b6d5 | 142 | if (mybutton4.read()==0){ |
aleksey136 | 2:e2441887b6d5 | 143 | if (a==3){ |
aleksey136 | 2:e2441887b6d5 | 144 | printf("Button4 state is: %d\n\r", mybutton4.read()); |
aleksey136 | 2:e2441887b6d5 | 145 | a++; |
aleksey136 | 2:e2441887b6d5 | 146 | wait(0.2); |
aleksey136 | 2:e2441887b6d5 | 147 | } |
aleksey136 | 2:e2441887b6d5 | 148 | else{ |
aleksey136 | 2:e2441887b6d5 | 149 | a=0; |
aleksey136 | 2:e2441887b6d5 | 150 | wait(0.2); |
aleksey136 | 2:e2441887b6d5 | 151 | } |
aleksey136 | 2:e2441887b6d5 | 152 | } |
aleksey136 | 2:e2441887b6d5 | 153 | if (a==4) { |
aleksey136 | 2:e2441887b6d5 | 154 | rele=!rele; |
aleksey136 | 2:e2441887b6d5 | 155 | for (int i=0;i<10;i++){ |
aleksey136 | 2:e2441887b6d5 | 156 | led = !led; |
aleksey136 | 2:e2441887b6d5 | 157 | wait(1); |
aleksey136 | 2:e2441887b6d5 | 158 | } |
aleksey136 | 2:e2441887b6d5 | 159 | rele=!rele; |
aleksey136 | 2:e2441887b6d5 | 160 | a=0; |
aleksey136 | 2:e2441887b6d5 | 161 | } |
aleksey136 | 2:e2441887b6d5 | 162 | printf("The code is entered on: %d\n\r", a); |
aleksey136 | 2:e2441887b6d5 | 163 | wait(0.2); |
aleksey136 | 2:e2441887b6d5 | 164 | } |
aleksey136 | 1:2b60776a9c3d | 165 | } |