krnl
1
Loading...
Searching...
No Matches
examples
oldexamples
old-may-not_work
k01
k01.ino
Go to the documentation of this file.
1
/* k01
2
One task printing own usage of stak
3
*/
4
5
#include <
krnl.h
>
6
7
#define STKSIZE 100
8
9
#define TASKPRIO 10
10
11
char
stak
[
STKSIZE
];
12
struct
k_t
*
pStak
;
13
14
void
task
()
15
{
16
char
flipflop=0;
17
while
(1) {
18
k_eat_time(10);
// consume 10 millisec of CPU time
19
k_sleep
(300);
// sleep 100 ticks - replacement for delay bq k_seelp releases CPU
20
if
(flipflop) {
21
flipflop = 0;
22
digitalWrite(13,HIGH);
23
}
24
else
{
25
flipflop = 1;
26
digitalWrite(13,LOW);
27
}
28
}
29
}
30
31
void
setup
() {
32
33
Serial.begin(9600);
// if you dont use serial port then avoid initializing bq it takse memory
34
35
pinMode(13,OUTPUT);
36
37
k_init
(1, 0, 0);
// 1 task, 0 semaphores, 0 messaegQueues */
38
39
pStak
=
k_crt_task
(
task
,
TASKPRIO
,
stak
,
STKSIZE
);
40
41
k_start
(1);
/* start krnl timer speed 1 milliseconds*/
42
43
Serial.println(
"If you see this then krnl didnt start :-( "
);
44
}
45
46
void
loop
() {}
STKSIZE
#define STKSIZE
Definition
k02.ino:8
stak
char stak[100]
Definition
k02.ino:12
TASKPRIO
#define TASKPRIO
Definition
k08isrsem.ino:14
k_sleep
int k_sleep(int time)
let task sleep for a number of milliseconds
Definition
krnl.c:445
k_crt_task
struct k_t * k_crt_task(void(*pTask)(void), char prio, char *pStk, int stkSize)
create a task - only to be called before k_start creates a task and put it in the active Q
Definition
krnl.c:328
k_init
int k_init(int nrTask, int nrSem, int nrMsg)
Definition
krnl.c:1108
k_start
int k_start()
Definition
krnl.c:1149
krnl.h
setup
void setup()
Definition
k01.ino:31
task
void task()
Definition
k01.ino:14
pStak
struct k_t * pStak
Definition
k01.ino:12
loop
void loop()
Definition
k01.ino:46
task
struct k_t * task
Definition
kernelmoviesimple.ino:10
k_t
Definition
krnl.h:323
Generated by
1.15.0