Demonstracija reagovanja procesora na prekid dok obavlja neku funckionalnost.

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /*
00002  * Primer koriscenja prekida za STM32L476RG, napisan
00003  * koristeci mbed.h biblioteku. 
00004  *
00005  * Katedra za Elektroniku i digitalne sisteme
00006  * Elektrotehnicki fakultet
00007  * Beograd 
00008  *
00009  * Oktobar 2021.
00010  *
00011  */
00012 
00013 /*
00014  * Biblioteke za uvoz:
00015  */
00016 #include "mbed.h"
00017 
00018 /*
00019  * Definisanje makroa:
00020  */
00021 #define ON_TIME                                                                1
00022 #define LED_ON                                                                 1
00023 #define LED_OFF                                                                0
00024 /*
00025  * Globalne promenljive:
00026  */
00027 InterruptIn button_sw2 (PC_8);     // Kreiranje promenljive tastera
00028 DigitalOut led1_mb (PA_11);        // Kreiranje promenljive diode
00029 
00030 /*
00031  * Deklaracija funkcija:
00032  */
00033 void ISR_button (void);
00034 
00035 /*
00036  * Glavna funkcija:
00037  */
00038 int main()
00039 {   
00040     // Inicijalizacija lokalnih promenljivih:
00041     // Ukljucivanje prekida na silaznu ivicu pina tastera SW2:
00042     button_sw2.fall(&ISR_button);
00043     // Funkcije koje se jedanput izvrsavaju:
00044     
00045     // Glavna petlja:
00046     while(true);    
00047 }
00048 
00049 
00050 /*
00051  * Definicija funkcija:
00052  */
00053 // Prekidna rutina tastera:
00054 void ISR_button()
00055 {
00056     led1_mb.write(LED_ON);
00057     wait(ON_TIME);
00058     led1_mb.write(LED_OFF);
00059 }