📄 kone.c
字号:
#include <std.h>
#include <log.h>
#include <mbx.h>
#include <tsk.h>
#include <clk.h>
#include "konecfg.h"
#define inputsignal 2000
int count11,count12,count21,count22,count31,count32;
int pos1_buffer[20];
int pos2_buffer[20];
int pos3_buffer[20];
int x[20];
int y[20];
extern int ticks;
extern int tick1,tick2,tick3;
int *ptr1,*ptr2,*ptr3;
extern void syn1(int *ptr);
extern void syn2(int *ptr);
extern void syn3(int *ptr);
extern void syn1_further(int *ptr);
extern void syn2_further(int *ptr);
extern void syn3_further(int *ptr);
main()
{
}
void recieve()
{ ptr1=(int*) inputsignal;
ptr2=(int*) inputsignal;
ptr3=(int*) inputsignal;
SWI_andn(&syn_swi,2);
}
void prd1()
{
SWI_andn(&syn_swi,1);
}
void synSwi()
{ syn1(ptr1);
SEM_post(&task1sem);
LOG_printf(&trace, "task1sem1");
syn2(ptr2);
SEM_post(&task2sem);
LOG_printf(&trace, "task1sem2");
syn3(ptr3);
SEM_post(&task3sem);
LOG_printf(&trace, "task1sem3");
}
void synTask1()
{ int i;
while(1)
{SEM_pend(&task1sem, SYS_FOREVER);
for(i=0;i<16;i++){
ptr1=ptr1+count11+12;
syn3_further(ptr1);
pos1_buffer[i]=count11*10+count12%10-(count12/10-1)*10;
}
}
}
void synTask2()
{int i;
while(1)
{SEM_pend(&task2sem, SYS_FOREVER);
for(i=0;i<16;i++){
ptr2=ptr2+count21+12;
syn2_further(ptr2);
pos2_buffer[i]=count21*10+count22%10+(count22/10-1)*12;
}
}
}
void synTask3()
{ int i;
while(1)
{ SEM_pend(&task3sem, SYS_FOREVER);
for(i=0;i<16;i++){
ptr3=ptr3+count31+12;
syn3_further(ptr3);
pos3_buffer[i]=count31*10+count32%10+(count32/10-1)*10;
}
SEM_post(&SEM0);
}
}
void position()
{ SEM_pend(&SEM0, SYS_FOREVER);
LOG_printf(&trace, "start the position "); //定位算法
}
void myclk()
{
ticks=CLK_getltime();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -