69,369
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int
main(int argc, char *argv[])
{
unsigned char bfBuf[4] = {0x01,0x01,0x01,0x01};
unsigned char * dataptr;
dataptr = bfBuf;
printf("%02X\n",bfBuf [0]);
printf("%02X\n",dataptr[0]);
return 0;
}
/home/mymtom/src/demo$ make demo1
cc demo1.c -o demo1
/home/mymtom/src/demo$ ./demo1
01
01
struct tcp_demo_appstate
{
u8_t state;
u8_t *textptr;
int textlen;
};
typedef struct tcp_demo_appstate uip_udp_appstate_t;
uip的udp接受命令,tcp发数据。接受命令时解析命令一点问题没有,然后把返回的状态通过tcp发送给上位机。每次发送时都不是原来的数据。不知道怎么回事
.c
//解析
void DealCmd(struct tcp_demo_appstate *s)
{
u8_t sendbuf[5];
u8_t cmd,len,chid,paracode,para;
/* 得到指定参数
*/
cmd = ((u8_t *)uip_appdata)[0];
len = ((u8_t *)uip_appdata)[1];
chid = ((u8_t *)uip_appdata)[2];
paracode = ((u8_t *)uip_appdata)[3];
sendbuf[0] = cmd;
sendbuf[1] = len;
sendbuf[2] = chid;
sendbuf[3] = paracode;
s->textptr = sendbuf;
s->textlen = sizeof(sendbuf);
}
//发送
static void senddata(void)
{
struct tcp_demo_appstate *s = (struct tcp_demo_appstate *)&uip_udp_conn->appstate;
if (s->textlen > 0)
{
uip_send(s->textptr, s->textlen);
}
}