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
main.cpp
00001 // Primjer postavljanja mbed Ticker-a na nizi prioritet 00002 // Nested Vectored Interrupt Controller (NVIC) 00003 #include "mbed.h" 00004 // Varijabla za brojanje rastucih bridova PwmOut objekta 00005 volatile int counter = 0; 00006 // Callback funkcija koju poziva InterruptIn objekt 00007 void timing_critical() { 00008 counter++; 00009 } 00010 00011 // Callback funkcija koju poziva Ticker objekt 00012 void long_event() { 00013 wait_ms(50); 00014 } 00015 00016 PwmOut out(p25); 00017 InterruptIn in(p26); 00018 Ticker tick; 00019 00020 int main() { 00021 // Generiranje PWM signala 00022 out.period_ms(10); 00023 out.pulsewidth_ms(5); 00024 // Poziv callback funkcije void timing_critical(); na svaki rastuci brid od InterruptIn pina 00025 in.rise(&timing_critical); 00026 00027 // Uzimanje 5 sample-ova svakih 1 sec 00028 printf("1) InterruptIn only...\n"); 00029 for(int i=0; i<5; i++) { 00030 counter = 0; 00031 wait(1); 00032 printf("counts/sec = %d\n", counter); 00033 } 00034 00035 // Poziv callback funkcije void long_event(); od strane Ticker objekta u periodu od 0.1 sec 00036 tick.attach(&long_event, 0.1); 00037 00038 // Uzimanje 5 sample-ova svakih 1 sec sa ukljucenim Ticker objektom bez postavljanja prioritera 00039 printf("2) InterruptIn plus long running occasional ticker event...\n"); 00040 for(int i=0; i<5; i++) { 00041 counter = 0; 00042 wait(1); 00043 printf("count/sec = %d\n", counter); 00044 } 00045 00046 // Uzimanje 5 sample-ova svakih 1 sec sa ukljucenim Ticker objektom sa postavljenim prioritetom 00047 printf("3) InterruptIn plus long running occasional ticker event at lower priority...\n"); 00048 // Postavi mbed ticker na najnizi prioritet 00049 NVIC_SetPriority(TIMER3_IRQn, 255); 00050 for(int i=0; i<5; i++) { 00051 counter = 0; 00052 wait(1); 00053 printf("counter = %d\n", counter); 00054 } 00055 }
Generated on Tue Jul 26 2022 16:46:02 by
1.7.2