You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
2.8 KiB

#include "asp_task_WC.h"
TS_WCapp_ ts_WCapp;
#define D_task_WC_send 0x51
#define D_task_WC_rx 0x52
#define D_task_WC_wait 0x53
#define D_task_WC_ack 0x54
#define D_task_WC_listen 0x61
#define D_task_WC_REV 0x62
#define D_task_WC_send_over 0x63
#define D_task_WC_send_next 0x64
#define D_task_WC_REC_ACK 0x65
#define D_task_WC_rev_what 0x72
#define D_task_WC_END 0x74
void L2_task_WC_init(void)
{
L1_task_init(&ts_WCapp.task);
L3_task_s_go(ts_WCapp,D_task_init);
}
////对应文字版流程图
#ifdef doc909809
20210409
step 1
step 2
step 3
step 3
step4
step 4
step 5
1
2
3
4
5handdle调用入口的有效性
6init的调用有效性handle执行前被调用
7init的打印是否正确
8
9
#endif
///L3_task_WC_handle_NOACK(&ts_WCapp);
////目前使用的no ack 标准应用,发送和接收
void L3_task_WC_master_handle(TS_WCapp_ *s)
{
//---------------------------------------------------------------//
TTSS_Task_init():
L0_uart0_sendstr("mC:init\r\n");
L2_SI24R1_init_config();
L2_task_2g4_init();
L2_task_go(D_task_WC_send);
TTSS_Task_step(D_task_WC_send):
L0_uart0_sendstr("\r\nmC:send ");
L3_task_s_go(ts_2g4,D_task_2g4_send);
TTSS_overtime_init(s->over,D_Tdelay_5s);
L2_task_go(D_task_WC_send_over);
TTSS_Task_step(D_task_WC_send_over):
if (D_SI24R1_SENDOK == ts_2g4.ok)
{
L0_uart0_sendstr("mC:ok rec ack\r\n");
ts_2g4.ok = 0;
L3_task_s_go(ts_2g4,D_task_2g4_REV_start);
TTSS_overtime_init(s->over,D_Tdelay_10s);
L2_task_go(D_task_WC_REC_ACK);
}else
{
TTSS_overtime_get(s->over)
L0_uart0_uc('v');
L2_task_go(D_task_WC_END);
TTSS_overtime_end
}
TTSS_Task_step(D_task_WC_REC_ACK):
if(D_SI24R1_RX_DR == ts_2g4.ok)
{
ts_2g4.ok = 0;
L0_uart0_sendstr("mC:recok \r\n");
L0_uart0_sendArray(ts_2g4.Rbuf,ts_2g4.rx_fifo_num);
L2_task_go(D_task_WC_END);
}else
{
TTSS_overtime_get(s->over)
///L0_uart0_uc('r');
L0_uart0_sendstr("\r\nmC:!overtime \r\n");
L2_task_go(D_task_WC_END);
L3_task_s_go(ts_2g4,D_task_close);
TTSS_overtime_end
}
TTSS_Task_step(D_task_WC_END):
L2_task_go(D_task_WC_send);
L1_task_Tdelay(D_Tdelay_2s);
TTSS_Task_end();
(*L3_task_2g4_handle)(&ts_2g4);
}