Demonstracija reagovanja procesora na prekid dok obavlja neku funckionalnost.
Embed:
(wiki syntax)
Show/hide line numbers
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 }
Generated on Fri Aug 5 2022 20:58:04 by
1.7.2
Nikola Cvetković