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@1:5c7d8d760ece, 2011-08-04 (annotated)
- Committer:
- umutaradag
- Date:
- Thu Aug 04 09:58:58 2011 +0000
- Revision:
- 1:5c7d8d760ece
- Parent:
- 0:3b35413050ff
- Child:
- 2:ac3746d21033
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| umutaradag | 0:3b35413050ff | 1 | #include "mbed.h" |
| umutaradag | 0:3b35413050ff | 2 | #include "semaphore.h" |
| umutaradag | 0:3b35413050ff | 3 | |
| umutaradag | 1:5c7d8d760ece | 4 | Ticker ticker; |
| umutaradag | 0:3b35413050ff | 5 | semaphore printSem; |
| umutaradag | 0:3b35413050ff | 6 | |
| umutaradag | 0:3b35413050ff | 7 | volatile int sharedVariable; |
| umutaradag | 0:3b35413050ff | 8 | |
| umutaradag | 0:3b35413050ff | 9 | #define SEM_ENABLE 1 |
| umutaradag | 0:3b35413050ff | 10 | |
| umutaradag | 1:5c7d8d760ece | 11 | void incrementer() |
| umutaradag | 0:3b35413050ff | 12 | { |
| umutaradag | 0:3b35413050ff | 13 | #if SEM_ENABLE==1 |
| umutaradag | 0:3b35413050ff | 14 | if(semPend(&printSem, 5) == SEM_ERR) |
| umutaradag | 0:3b35413050ff | 15 | return; |
| umutaradag | 0:3b35413050ff | 16 | #endif |
| umutaradag | 0:3b35413050ff | 17 | |
| umutaradag | 0:3b35413050ff | 18 | sharedVariable++; |
| umutaradag | 0:3b35413050ff | 19 | |
| umutaradag | 0:3b35413050ff | 20 | #if SEM_ENABLE==1 |
| umutaradag | 0:3b35413050ff | 21 | semPost(&printSem); |
| umutaradag | 0:3b35413050ff | 22 | #endif |
| umutaradag | 0:3b35413050ff | 23 | } |
| umutaradag | 0:3b35413050ff | 24 | |
| umutaradag | 0:3b35413050ff | 25 | int main() |
| umutaradag | 0:3b35413050ff | 26 | { |
| umutaradag | 0:3b35413050ff | 27 | sharedVariable = 0; |
| umutaradag | 0:3b35413050ff | 28 | semInit(&printSem, 1); |
| umutaradag | 1:5c7d8d760ece | 29 | ticker.attach(&incrementer, 0.25); |
| umutaradag | 0:3b35413050ff | 30 | |
| umutaradag | 0:3b35413050ff | 31 | while(1) |
| umutaradag | 0:3b35413050ff | 32 | { |
| umutaradag | 0:3b35413050ff | 33 | #if SEM_ENABLE==1 |
| umutaradag | 0:3b35413050ff | 34 | semPend(&printSem, 10000); |
| umutaradag | 0:3b35413050ff | 35 | #endif |
| umutaradag | 0:3b35413050ff | 36 | |
| umutaradag | 0:3b35413050ff | 37 | printf("\nfirst val = %d\n",sharedVariable); |
| umutaradag | 0:3b35413050ff | 38 | sharedVariable++; |
| umutaradag | 0:3b35413050ff | 39 | wait(1); |
| umutaradag | 0:3b35413050ff | 40 | printf("second val = %d\n",sharedVariable); |
| umutaradag | 0:3b35413050ff | 41 | |
| umutaradag | 0:3b35413050ff | 42 | #if SEM_ENABLE==1 |
| umutaradag | 0:3b35413050ff | 43 | semPost(&printSem); |
| umutaradag | 0:3b35413050ff | 44 | #endif |
| umutaradag | 0:3b35413050ff | 45 | |
| umutaradag | 0:3b35413050ff | 46 | wait(1); |
| umutaradag | 0:3b35413050ff | 47 | } |
| umutaradag | 0:3b35413050ff | 48 | } |