26#if defined (__AVR_ATmega2560__) || defined (__AVR_ATmega1280__) || defined(__AVR_ATmega2561__)
27ISR(INT4_vect, ISR_NAKED) {
31#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328__) || defined(__AVR_ATmega32U4__)
32 ISR(INT0_vect, ISR_NAKED) {
64 Serial.print(
"timeout "); Serial.print(miss); Serial.print(
" "); Serial.println(
ISRoverflow);
68 Serial.print(
"get kick no "); Serial.print(
i); Serial.print(
" "); Serial.println(
ISRoverflow);
80 Serial.println(
"timeout222 ");
95 Serial.println(
"just bef init part");
104 Serial.println(
"just bef k_start");
107 pinMode(2, INPUT_PULLUP);
113 __asm__
volatile (
"cli");
115#if defined (__AVR_ATmega2560__) || defined (__AVR_ATmega1280__) || defined(__AVR_ATmega2561__)
116 EICRB |= (1 << ISC41);
117 EIMSK |= (1 << INT4);
119 Serial.println(EICRB, HEX);
120 Serial.println(EIMSK, HEX);
124#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328__) || defined(__AVR_ATmega32U4__)
125 EICRA |= (1 << ISC01);
126 EIMSK |= (1 << INT0);
129 __asm__
volatile (
"sei");
133 Serial.println(
"If you see this then krnl didnt start :-( ");
unsigned long ki_millis(void)
returns no msec since start - no DI/EI lock Returns nr of milliseconds since krnl was started by k_st...
int ki_signal(struct k_t *sem)
signal a semaphore from AN ISR - no task shift , do not enable intr,...
int k_sleep(int time)
let task sleep for a number of milliseconds
int k_wait(struct k_t *sem, int timeout)
stand wait on semaphore call with timeout facility
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
struct k_t * k_crt_sem(int init_val, int maxvalue)
change task priority and reinserts it in task Q and do a task shift
int k_init(int nrTask, int nrSem, int nrMsg)
ISR(INT0_vect, ISR_NAKED)