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.
Dependencies: mbed
LED-Button-Polling.cpp@3:042d47e3c101, 2022-06-01 (annotated)
- Committer:
- pinofal
- Date:
- Wed Jun 01 10:40:15 2022 +0000
- Revision:
- 3:042d47e3c101
- Parent:
- 2:8cd95bea99dc
Test linee di connessione MIMA-STM32-SC
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| pinofal | 1:832dfb4ba1af | 1 | // Tested: NUCLE-L476RG |
| pinofal | 1:832dfb4ba1af | 2 | |
| pinofal | 1:832dfb4ba1af | 3 | #include "mbed.h" |
| pinofal | 1:832dfb4ba1af | 4 | |
| pinofal | 1:832dfb4ba1af | 5 | // crea oggetti Button, LED e serialPC |
| pinofal | 1:832dfb4ba1af | 6 | DigitalIn myButton(USER_BUTTON); |
| pinofal | 1:832dfb4ba1af | 7 | DigitalOut myLed(LED1); |
| pinofal | 3:042d47e3c101 | 8 | DigitalIn InMIMA(PA_0); //PC_1; PB_0; PA_1; PA_0 |
| pinofal | 3:042d47e3c101 | 9 | DigitalOut OutSC(PC_0); |
| pinofal | 3:042d47e3c101 | 10 | DigitalIn InSC(PA_10); |
| pinofal | 3:042d47e3c101 | 11 | DigitalOut OutMIMA(PA_9); //PB_3; PB_6; PC_7; PA_9 |
| pinofal | 3:042d47e3c101 | 12 | |
| pinofal | 3:042d47e3c101 | 13 | |
| pinofal | 3:042d47e3c101 | 14 | Serial pc(USBTX, USBRX, 921600); |
| pinofal | 1:832dfb4ba1af | 15 | |
| pinofal | 1:832dfb4ba1af | 16 | |
| pinofal | 1:832dfb4ba1af | 17 | /********/ |
| pinofal | 1:832dfb4ba1af | 18 | /* MAIN */ |
| pinofal | 1:832dfb4ba1af | 19 | /********/ |
| pinofal | 1:832dfb4ba1af | 20 | int main() |
| pinofal | 1:832dfb4ba1af | 21 | { |
| pinofal | 3:042d47e3c101 | 22 | // messaggio di benvenuto |
| pinofal | 3:042d47e3c101 | 23 | pc.printf("\r\nHello World \r\n"); |
| pinofal | 3:042d47e3c101 | 24 | myLed = 1; // Accendi LED |
| pinofal | 3:042d47e3c101 | 25 | wait_ms(1000); |
| pinofal | 3:042d47e3c101 | 26 | myLed = 0; // Accendi LED |
| pinofal | 3:042d47e3c101 | 27 | wait_ms(1000); |
| pinofal | 3:042d47e3c101 | 28 | |
| pinofal | 2:8cd95bea99dc | 29 | |
| pinofal | 2:8cd95bea99dc | 30 | //imposta il funzionamento del pulsante come "PullDown": Aperto = '0'. L'altra modalità di funzinamento è PullUp |
| pinofal | 3:042d47e3c101 | 31 | myButton.mode(PullUp); |
| pinofal | 3:042d47e3c101 | 32 | InMIMA.mode(PullUp); |
| pinofal | 3:042d47e3c101 | 33 | InSC.mode(PullUp); |
| pinofal | 1:832dfb4ba1af | 34 | |
| pinofal | 2:8cd95bea99dc | 35 | // POLLING: replica sul LED myLED lo stato del pulsante myButton |
| pinofal | 2:8cd95bea99dc | 36 | while(true) |
| pinofal | 2:8cd95bea99dc | 37 | { |
| pinofal | 3:042d47e3c101 | 38 | //+++++ INIZIO Comunicazione da STM32 verso MIMA ++++++++++++++ |
| pinofal | 3:042d47e3c101 | 39 | OutSC=myButton; |
| pinofal | 3:042d47e3c101 | 40 | if (InMIMA == 0) |
| pinofal | 3:042d47e3c101 | 41 | { |
| pinofal | 2:8cd95bea99dc | 42 | // Button is pressed |
| pinofal | 2:8cd95bea99dc | 43 | myLed = 1; // Accendi LED |
| pinofal | 3:042d47e3c101 | 44 | pc.printf("InMIMA = 0 \r\n"); |
| pinofal | 2:8cd95bea99dc | 45 | } |
| pinofal | 2:8cd95bea99dc | 46 | else |
| pinofal | 2:8cd95bea99dc | 47 | { |
| pinofal | 2:8cd95bea99dc | 48 | // Button i released |
| pinofal | 2:8cd95bea99dc | 49 | myLed = 0; // Spegni LED |
| pinofal | 3:042d47e3c101 | 50 | pc.printf("InMIMA = 1 \r\n"); |
| pinofal | 2:8cd95bea99dc | 51 | } |
| pinofal | 3:042d47e3c101 | 52 | //+++++ FINE Comunicazione da STM32 verso MIMA ++++++++++++++ |
| pinofal | 3:042d47e3c101 | 53 | |
| pinofal | 3:042d47e3c101 | 54 | //+++++ INIZIO Comunicazione da S/C verso STM32 ++++++++++++++ |
| pinofal | 3:042d47e3c101 | 55 | OutMIMA=myButton; |
| pinofal | 3:042d47e3c101 | 56 | if (InSC == 0) |
| pinofal | 3:042d47e3c101 | 57 | { |
| pinofal | 3:042d47e3c101 | 58 | // Button is pressed |
| pinofal | 3:042d47e3c101 | 59 | myLed = 1; // Accendi LED |
| pinofal | 3:042d47e3c101 | 60 | pc.printf("InSC = 0 \r\n"); |
| pinofal | 3:042d47e3c101 | 61 | } |
| pinofal | 3:042d47e3c101 | 62 | else |
| pinofal | 3:042d47e3c101 | 63 | { |
| pinofal | 3:042d47e3c101 | 64 | // Button i released |
| pinofal | 3:042d47e3c101 | 65 | myLed = 0; // Spegni LED |
| pinofal | 3:042d47e3c101 | 66 | pc.printf("InSC = 1 \r\n"); |
| pinofal | 3:042d47e3c101 | 67 | } |
| pinofal | 3:042d47e3c101 | 68 | //+++++ FINE Comunicazione da S/C verso STM32 ++++++++++++++ |
| pinofal | 3:042d47e3c101 | 69 | |
| pinofal | 3:042d47e3c101 | 70 | pc.printf("\r\n"); // per facilità di lettura |
| pinofal | 3:042d47e3c101 | 71 | wait_ms(200); |
| pinofal | 3:042d47e3c101 | 72 | |
| pinofal | 1:832dfb4ba1af | 73 | } |
| pinofal | 3:042d47e3c101 | 74 | |
| pinofal | 3:042d47e3c101 | 75 | } |