金牌会员
 
- 积分
- 1105
- 金钱
- 1105
- 注册时间
- 2015-10-27
- 在线时间
- 206 小时
|

楼主 |
发表于 2015-12-10 12:23:14
|
显示全部楼层
回复【10楼】 正点原子 :
---------------------------------
因为没有路由所以用的是静态IP,我用的完全是咱们程序里面的两个远端IP,192.168.1.100和静态IP192.168.1.30。开发板也是探索者的,所以开发板的IP应该 是192.168.1.30了,ping 192.168.1.30是ping不通的。
这是电脑设置的
下面是网络调试助手显示的,通过开发板给它发送的数据是成功了。
我之前以为调试助手下面发的网址应该是给开发板,然后开发板网址在回到调试助手上面显示,好像不是这样
while(res==0)
{
key=KEY_Scan(0);
if(key==WKUP_PRES)break;
if(key==KEY0_PRES)//KEY0按下了,发送数据
{
udp_demo_senddata(udppcb);
}
if(udp_demo_flag&1<<6)//是否收到数据?
{
LCD_Fill(30,250,lcddev.width-1,lcddev.height-1,WHITE);//清上一次数据
LCD_ShowString(30,250,lcddev.width-30,lcddev.height-230,16,udp_demo_recvbuf);//显示接收到的数据
udp_demo_flag&=~(1<<6);//标记数据已经被处理了.
}
按键通过udp_demo_senddata函数发送的是咱们程序本身定义好的数据,
调试助手下面的网址应该是通过那个If显示在LCD上,是这么,我没有买LCD的。
原子哥总结下我的理解你给我看看对不对:
1.远端IP是192.168.1.100,开发板IP是静态IP192.168.1.30。但是没PING通,按道理说开发板给电脑端发送数据是不能 成功了。但是成功了,是怎么回事?
因为我没有LCD所以ludp_demo.c下面的设置远端IP我给屏蔽了,这样远端IP只能是192.168.1.100了吧
//设置远端IP地址
void udp_demo_set_remoteip(void)
{
u8 *tbuf;
// u16 xoff;
// u8 key;
// LCD_Clear(WHITE);
// POINT_COLOR=RED;
// LCD_ShowString(30,30,200,16,16,"Explorer STM32F4");
// LCD_ShowString(30,50,200,16,16,"UDP Test");
// LCD_ShowString(30,70,200,16,16,"Remote IP Set");
// LCD_ShowString(30,90,200,16,16,"KEY0:+ KEY2:-");
// LCD_ShowString(30,110,200,16,16,"KEY_UP:OK");
tbuf=mymalloc(SRAMIN,100); //申请内存
if(tbuf==NULL)return;
//前三个IP保持和DHCP得到的IP一致
lwipdev.remoteip[0]=lwipdev.ip[0];
lwipdev.remoteip[1]=lwipdev.ip[1];
lwipdev.remoteip[2]=lwipdev.ip[2];
// sprintf((char*)tbuf,"Remote IP:%d.%d.%d.",lwipdev.remoteip[0],lwipdev.remoteip[1],lwipdev.remoteip[2]);//远端IP
// LCD_ShowString(30,150,210,16,16,tbuf);
// POINT_COLOR=BLUE;
// xoff=strlen((char*)tbuf)*8+30;
// LCD_ShowxNum(xoff,150,lwipdev.remoteip[3],3,16,0);
//// while(1)
// {
// key=KEY_Scan(0);
// if(key==WKUP_PRES)break;
// else if(key)
// {
// if(key==KEY0_PRES)lwipdev.remoteip[3]++;//IP增加
// if(key==KEY2_PRES)lwipdev.remoteip[3]--;//IP减少
// LCD_ShowxNum(xoff,150,lwipdev.remoteip[3],3,16,0X80);//显示新IP
// }
// }
2.我想实现是下面调试助手发送那个网址可以在上面显示,怎么实现啊。
有点长,麻烦原子哥给看下。
|
|