中级会员
- 积分
- 212
- 金钱
- 212
- 注册时间
- 2015-8-1
- 在线时间
- 7 小时
|
<p>
两个板子,一个做客户机,一个做服务器。
</p>
<p>
客户机的运行原则是,先发送,再等响应,一般等响应会有超时设置。
</p>
<p>
<div style="background-color:#E8E8E8;">
[mw_shl_code=c,true]int main(void)
{
_Init();
// 客户端程序,先发送,然后等待接收响应(一般规定超时)。如此循环。
{
u8 lBuffer[33];
u8 i = 0;
while(i < 100)
{
oWireless(WIRELESS1, gEnvironment.Channel, "%032d", i);
if(iWireless(WIRELESS1, gEnvironment.Channel, lBuffer) == TRUE) // iWireless 内部差不多 700ms 会超时
i = fun_StringToNumber(lBuffer, 0, 32) + 1;
}
}
while(TRUE)
{
LED1 = !LED1;
Wait_s(2);
}
}[/mw_shl_code]
</div>
</p>
<p>
服务器的运行原则是,先无限等, 收到后,再发送响应,一般发送后可不理会。
</p>
<p>
<div style="background-color:#E8E8E8;">
[mw_shl_code=c,true]int main(void)
{
_Init();
oVoice("sound218[p1000]欢迎使用欧文特斯体质测试系统");
l5_SetTestRunningState(FALSE);
// 服务器程序,无限收,收到后发送。如此循环
{
u8 lBuffer[33];
u8 i;
while(i < 100)
{
while(iWireless(WIRELESS1, gEnvironment.Channel, lBuffer) == FALSE) { ;}
i = fun_StringToNumber(lBuffer, 0, 32) + 1;
oWireless(WIRELESS1, gEnvironment.Channel, "%032d", i);
}
}
while(TRUE)
{
LED1 = !LED1;
Wait_s(2);
}
}[/mw_shl_code]
</div>
<br />
双方通信的过程是在互相发送一个数,收到后递增返回,对方收到后再递增返回。最终双方将这个数增加到100,退出。
</p> |
|