如何把UDP点对点通信改为广播通信

2019-07-20 04:42发布

我用正点原子的STM32F767板子试网口程序,UDP点对点通信已成功。想改为广播方式,把目标IP地址设为255.255.255.255但是通信不成功,电脑可以收到单片机发的数据,而单片机收不到电脑发的数据。请高手指教,还要改其他地方吗?谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
chenbingjy
2019-07-20 11:05
//设置远端IP地址
void udp_demo_set_remoteip(void)
{
        u8 *tbuf;
        u16 xoff;
        u8 key;
          
        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];
        lwipdev.remoteip[0]=255;
        lwipdev.remoteip[1]=255;
        lwipdev.remoteip[2]=255;
        sprintf((char*)tbuf,"Remote IP:%d.%d.%d.",lwipdev.remoteip[0],lwipdev.remoteip[1],lwipdev.remoteip[2]);//远端IP
       
        //POINT_COLOR=BLUE;
        xoff=strlen((char*)tbuf)*8+30;
         
       
        myfree(SRAMIN,tbuf);
}
发现一个地方有问题,这儿也要改成255,可是还是不行。
在网络助手发送数据,可以看到网口指示灯闪,证明数据发过来了。
就是单片机收不到数据。

一周热门 更多>