G
gorkin
Guest
Привет братья!Мне необходимо выполнить следующий код в малых PIC12C508.
Я teste с sucessifull в других устройствах, как PIC12F629 и PIC16F627, но когда я компилируется PIC12C508 код не работают правильно, кто есть какие-либо предложения?
Спасибо и приятного дня и ночи!
<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Подмигнуть" border="0" /># включить <stdlib.h>
# включить <stdio.h>
# определить ПО 0
# определить ВЫКЛ 1
# определить maxtasks 3
# uchar определить неподписанные символ
/ / Variáveis Globais
uchar задач = 0;
/ / Массив де задач terminador недействительными
недействительным (* X [maxtasks 1]) (недействительными);
/ / Ponteiro де funçăo
типа недействительным (* FP) (недействительными);
/ / protótipos
uchar FindTask (недействительным (* FP) (недействительными));
недействительным CreateTask (недействительным (* задачи) (недействительными));
недействительным DeleteTask (недействительным (* FP) (недействительными));
task0 недействительным (недействительными);
task1 недействительным (недействительными);
task2 недействительным (недействительными);
task3 недействительным (недействительными);
task4 недействительным (недействительными);
task5 недействительным (недействительными);
недействительным CreateTask (недействительным (* задачи) (недействительными))
(
uchar N;
если (! FindTask (целевых))
(
для (N = 0x00; N <maxtasks | | X [N]! = NULL; N )
(
если (X [N] == NULL)
(
X [N] = задачи;
X [N ] = NULL;
возвращение;
)
)
)
)
недействительным DeleteTask (недействительным (* задачи) (недействительными))
(
uchar N;
для (N = 0x00; N <maxtasks; N )
(
если (X [N] == задача)
(
делать
(
X [N] = X [N 0x01];
N ;
)
в то время как (X [N]! = NULL);
возвращение;
)
)
)uchar FindTask (недействительным (* FP) (недействительными))
(
uchar N;
uchar TMP;
для (N = 0x00; N <maxtasks | | X [N]! = NULL; N )
(
если (X [N] == FP)
(
TMP = 0x01;
)
еще
(
TMP = 0x00;
)
)
возвращение (TMP);
)
task0 недействительным (недействительными)
(
# АНМ
NOP
NOP
NOP
NOP
NOP
# endasm
)
task1 недействительным (недействительными)
(
# АНМ
NOP
NOP
NOP
NOP
NOP
# endasm
)
task2 недействительным (недействительными)
(
# АНМ
NOP
NOP
NOP
NOP
NOP
# endasm
)
task3 недействительным (недействительными)
(
# АНМ
NOP
NOP
NOP
NOP
NOP
# endasm
)
task4 недействительным (недействительными)
(
)
task5 недействительным (недействительными)
(
)
Основными недействительным (недействительными)
(
uchar N = 0x00;
X [N] = NULL;
CreateTask (task0);
для (;
<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Подмигнуть" border="0" />(
в то время как (X [N]! = NULL)
(
X [N ]();
)
N = 0x00;
)
)
Я teste с sucessifull в других устройствах, как PIC12F629 и PIC16F627, но когда я компилируется PIC12C508 код не работают правильно, кто есть какие-либо предложения?
Спасибо и приятного дня и ночи!
<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Подмигнуть" border="0" /># включить <stdlib.h>
# включить <stdio.h>
# определить ПО 0
# определить ВЫКЛ 1
# определить maxtasks 3
# uchar определить неподписанные символ
/ / Variáveis Globais
uchar задач = 0;
/ / Массив де задач terminador недействительными
недействительным (* X [maxtasks 1]) (недействительными);
/ / Ponteiro де funçăo
типа недействительным (* FP) (недействительными);
/ / protótipos
uchar FindTask (недействительным (* FP) (недействительными));
недействительным CreateTask (недействительным (* задачи) (недействительными));
недействительным DeleteTask (недействительным (* FP) (недействительными));
task0 недействительным (недействительными);
task1 недействительным (недействительными);
task2 недействительным (недействительными);
task3 недействительным (недействительными);
task4 недействительным (недействительными);
task5 недействительным (недействительными);
недействительным CreateTask (недействительным (* задачи) (недействительными))
(
uchar N;
если (! FindTask (целевых))
(
для (N = 0x00; N <maxtasks | | X [N]! = NULL; N )
(
если (X [N] == NULL)
(
X [N] = задачи;
X [N ] = NULL;
возвращение;
)
)
)
)
недействительным DeleteTask (недействительным (* задачи) (недействительными))
(
uchar N;
для (N = 0x00; N <maxtasks; N )
(
если (X [N] == задача)
(
делать
(
X [N] = X [N 0x01];
N ;
)
в то время как (X [N]! = NULL);
возвращение;
)
)
)uchar FindTask (недействительным (* FP) (недействительными))
(
uchar N;
uchar TMP;
для (N = 0x00; N <maxtasks | | X [N]! = NULL; N )
(
если (X [N] == FP)
(
TMP = 0x01;
)
еще
(
TMP = 0x00;
)
)
возвращение (TMP);
)
task0 недействительным (недействительными)
(
# АНМ
NOP
NOP
NOP
NOP
NOP
# endasm
)
task1 недействительным (недействительными)
(
# АНМ
NOP
NOP
NOP
NOP
NOP
# endasm
)
task2 недействительным (недействительными)
(
# АНМ
NOP
NOP
NOP
NOP
NOP
# endasm
)
task3 недействительным (недействительными)
(
# АНМ
NOP
NOP
NOP
NOP
NOP
# endasm
)
task4 недействительным (недействительными)
(
)
task5 недействительным (недействительными)
(
)
Основными недействительным (недействительными)
(
uchar N = 0x00;
X [N] = NULL;
CreateTask (task0);
для (;
<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Подмигнуть" border="0" />(
в то время как (X [N]! = NULL)
(
X [N ]();
)
N = 0x00;
)
)