添加错误代码

This commit is contained in:
ranchuan
2023-06-28 18:08:38 +08:00
parent c2b79fe523
commit 28889fa479
21 changed files with 2299 additions and 99 deletions

View File

@@ -7,6 +7,7 @@
#include "prot_uc.h"
#include "key.h"
#include "mystdlib.h"
#include "transmit.h"
@@ -16,6 +17,9 @@
typedef struct{
int inited;
int run;
int input;
int input_lock;
void *tran;
}self_def;
@@ -26,36 +30,37 @@ static void request_check(void *p);
static void key_thread(void *arg)
{
self_def *s=arg;
gpioin_def *in1,*in2,*in3,*in4;
int input=0,input_lock=1;
gpioin_def *in1;
in1=dev_get("gpioin1");
in2=dev_get("gpioin2");
in3=dev_get("gpioin3");
in4=dev_get("gpioin4");
in1->init(in1);
in2->init(in2);
in3->init(in3);
in4->init(in4);
s->input=0;
s->input_lock=1;
while (s->run)
{
rt_thread_mdelay(20);
//input=(in1->state(in1))|(in2->state(in2)<<1)|(in3->state(in3)<<2)|(in4->state(in4)<<3);
input=(in1->state(in1));
if(input!=input_lock)
s->input=(in1->state(in1));
if(s->input!=s->input_lock)
{
DBG_LOG("key=%08X",input);
input_lock=input;
if((input&1)==0)
DBG_LOG("key=%08X",s->input);
s->input_lock=s->input;
if((s->input&1)==0)
{
request_check(s);
// 主机交互存在且非忙的时候才发送请求
if(s->tran&&(tran_get_busy(s->tran)==0))
request_check(s);
}
}
}
}
// 获取实时按键状态,1按下
int key_pressed(void)
{
self_def *s=&g_self;
return !s->input;
}
// cmd=0x37
@@ -81,7 +86,11 @@ static void init_later(void *t)
DBG_WARN("can not fond variable \"protu\"");
}
}
static void init_tran(void *t)
{
self_def *s=t;
s->tran=app_variable("tran",0,0);
}
@@ -95,6 +104,7 @@ static int init_thread(void)
rt_thread_t rt_t=rt_thread_create("key_t",key_thread,s,1024,15,20);
rt_thread_startup(rt_t);
app_valid_call("protu",init_later,s);
app_valid_call("tran",init_tran,s);
}
return 0;
}