2019-03-24 10:58发布
kandy11 发表于 2014-8-24 17:14 a是红 {MOD}标出来的那串字符指针,ip是你存储IP地址的指针,用于返回IP数据,数组要定义足够存储IP地址的最大 ...
最多设置5个标签!
不知道是不是你想要的。
void Get_ip(uchar *a,uchar *ip)
{
int i;
for(i=6;a[i]!=' ';i++)
{
if(i-6<LENGTH_IP_BUFFER)
{
if(a[i]=='.')
{
*ip='.';
}
else
{
*ip=a[i]-'0';
}
ip++;
}
}
}
我调用函数是这样:Get_ip(RxBuf,IP);
里面两个数组定义是这样的:
#define LENGTH_IP_BUFFER 15
uchar IP[LENGTH_IP_BUFFER]={0};
#define RxBuf_N 25
uchar RxBuf[RxBuf_N]={0};
这样对不对?
运行起来从串口看好像没有获取到IP..........
#pragma vector = UART0RX_VECTOR
__interrupt void UART0_RXISR(void)
{
RxBuf[RxPoint++]=RXBUF0; //取出回显
}
我这个接收中断能不能接收到回显?
如果你数据会改变,如上面几位所说,你可以寻找%DNSR:,或者找到“:”,去取后面的IP,不知道对你有没有帮助
一周热门 更多>