Hallo Leute,
ich bin neu in der embedded Welt:) Und programmiere grad an einem
PIC16F1937;)
Da wollte angelehnt an dem kooperativen Scheduling eine delay Funtion
implementieren, via Timer :)
Folgender (Pseudo Code):
1 | volatile int _counter = 0;
|
2 | int _oldValue = 0;
|
3 |
|
4 | void timerInterrupt(void)
|
5 | {
|
6 | if(TMR2IF)
|
7 | {
|
8 | ++_counter;
|
9 | TMR2IF = 0;
|
10 | }
|
11 | }
|
12 |
|
13 | BOOL Delay(in delay)
|
14 | {
|
15 | intdelta = _counter - _oldvalue;
|
16 | if(delta >= delay)
|
17 | {
|
18 | oldvalue = _counter;
|
19 | return TRUE;
|
20 | }
|
21 | return FALSE;
|
22 | }
|
Das fumktioniert auch soweit, aber ich würde gern von euch Spezialisten
hören, ob es dafür noch ne andere implemention gibt!?
Schönen Sonntag