2763|6

10

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

怎么没有数据接收啊?? 求哥哥姐姐们帮忙啊 [复制链接]

#include <string.h>
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_nvic.h"
#include "inc/hw_types.h"
#include "inc/hw_sysctl.h"

#include "driverlib/ethernet.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/sysctl.h"
#include "driverlib/systick.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"

#include "utils/lwiplib.h"
#include "utils/ustdlib.h"


#define My_Mac_ID  {0X00,0x14,0x97,0x0F,0x1D,0xE3}  //存储以太网控制器的物理地址,即MAC地址
#define MY_IP_ID        {192,168,0,100}                   //以太网通信的IP地址
#define IP_MARK_ID    {255,255,255,0}             //255.255.255.0,子网掩码
#define MY_GATEWAY_ID   {192,168,0,1}                     //以太网通信的网关地址
static const unsigned char pucMACAddress[]=My_Mac_ID;
static const unsigned char IPAddress[] = MY_IP_ID;
static const unsigned char NetMaskAddr[] = IP_MARK_ID;
static const unsigned char GwWayAddr[] = MY_GATEWAY_ID;
static const unsigned char TCP_TestData[]="This is LwIP TCP Client 在Luminary Cortex-M3上的测试!\r\n";
#define SYSTICKHZ 100
#define SYSTICKMS (1000 / SYSTICKHZ)
#define SYSTICKUS (1000000 / SYSTICKHZ)
#define SYSTICKNS (1000000000 / SYSTICKHZ)

void Delay(unsigned long ulVal) /* 利用循环产生一定的延时 */
{
while ( --ulVal != 0 );
}

err_t TcpCli_Connected(void *arg,struct tcp_pcb *pcb,err_t err)
{
tcp_write(pcb,TCP_TestData,sizeof(TCP_TestData),0); /* 发送数据 */
tcp_close(pcb);
return ERR_OK;
}


void TCP_Client_Init()
{
  struct tcp_pcb *Clipcb;
  struct ip_addr ipaddr;
  
  IP4_ADDR(&ipaddr,192,168,0,127);
  
  Clipcb = tcp_new();                       // 建立通信的TCP控制块(Clipcb) 
  
  tcp_bind(Clipcb,IP_ADDR_ANY,1026);       // 绑定本地IP地址和端口号 
  
  tcp_connect(Clipcb,&ipaddr,1026,TcpCli_Connected);
}




void
SysTickIntHandler(void)
{

lwIPTimer(SYSTICKMS);

}
void
enet_udp(void)
{
 
   struct ip_addr ulIPAddr,ulNetMask,ulGWAddr;
      if(REVISION_IS_A2)
    {
        SysCtlLDOSet(SYSCTL_LDO_2_75V);
    }
    SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |
                   SYSCTL_XTAL_8MHZ);
   
    SysCtlPeripheralEnable(SYSCTL_PERIPH_ETH);
    SysCtlPeripheralReset(SYSCTL_PERIPH_ETH);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
    GPIOPinTypeEthernetLED(GPIO_PORTF_BASE, GPIO_PIN_2 | GPIO_PIN_3);
 
    SysTickPeriodSet(SysCtlClockGet() / SYSTICKHZ);
    SysTickEnable();
    SysTickIntEnable();
    IntMasterEnable();
 
        IP4_ADDR(&ulIPAddr,IPAddress[3],IPAddress[2],IPAddress[1],IPAddress[0]);
        IP4_ADDR(&ulNetMask,NetMaskAddr[3],NetMaskAddr[2],NetMaskAddr[1],NetMaskAddr[0]);
        IP4_ADDR(&ulGWAddr,GwWayAddr[3],GwWayAddr[2],GwWayAddr[1],GwWayAddr[0]);
        lwIPInit(pucMACAddress,ulIPAddr.addr, ulNetMask.addr, ulGWAddr.addr, IPADDR_USE_STATIC);
 
while(1)
{
    TCP_Client_Init();
    SysCtlDelay(SysCtlClockGet()/3);
 }
}


最新回复

检查 PC 机的 IP 地址和 8962 的 IP 地址和端口  详情 回复 发表于 2012-6-5 23:01
 
点赞 关注

回复
举报

1803

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

回复 楼主 zyjstrong 的帖子

TcpCli_Connected()没看到
 
 

回复

245

帖子

0

TA的资源

纯净的硅(初级)

板凳
 
你这问题问的…… 出现问题把代码一贴!
论坛里也有很多网友学习uIP的资料,https://bbs.eeworld.com.cn/search.php?searchid=30&orderby=lastpost&ascdesc=desc&searchsubmit=yes 仔细看看别人的笔记,在研究下自己的。祝你进步……
 
个人签名学习靠的就是努力,靠的就是坚持……
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

4
 

回复 板凳 jxndcl301 的帖子

不好意思啊,我才搞这个,我学电气的,主任要我自己弄,我也不懂!摸不着边,所以,就把代码写上去了,谢谢你啊!
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

5
 

lm3s8962作为客户端,pc机作为服务器,tcp进行数据收发,抓包工具抓不到数据

#include
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_nvic.h"
#include "inc/hw_types.h"
#include "inc/hw_sysctl.h"

#include "driverlib/ethernet.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/sysctl.h"
#include "driverlib/systick.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"

#include "utils/lwiplib.h"
#include "utils/ustdlib.h"


#define My_Mac_ID  {0X00,0x14,0x97,0x0F,0x1D,0xE3}  //存储以太网控制器的物理地址,即MAC地址
#define MY_IP_ID        {192,168,0,100}                   //以太网通信的IP地址
#define IP_MARK_ID    {255,255,255,0}             //255.255.255.0,子网掩码
#define MY_GATEWAY_ID   {192,168,0,1}                     //以太网通信的网关地址
static const unsigned char pucMACAddress[]=My_Mac_ID;
static const unsigned char IPAddress[] = MY_IP_ID;
static const unsigned char NetMaskAddr[] = IP_MARK_ID;
static const unsigned char GwWayAddr[] = MY_GATEWAY_ID;

const static unsigned char TCP_TestData[]="This is LwIP TCP Client测试!\r\n";
#define SYSTICKHZ 100
#define SYSTICKMS (1000 / SYSTICKHZ)
#define SYSTICKUS (1000000 / SYSTICKHZ)
#define SYSTICKNS (1000000000 / SYSTICKHZ)


void
SysTickIntHandler(void)
{
   
  lwIPTimer(SYSTICKMS);
}

void Delay(unsigned long ulVal) /* 利用循环产生一定的延时 */
{
while ( --ulVal != 0 );
}

typedef struct
{
        unsigned long ulRetryCount;       
        tBoolean bCONTROLSent;       
} tAPPState;

static err_t App_sent(void *arg, struct tcp_pcb *pcb, u16_t len)
{
        LWIP_UNUSED_ARG(len);
        tcp_write(pcb,TCP_TestData,sizeof(TCP_TestData),0);
        tcp_sent(pcb, App_sent);
       
        return ERR_OK;
}

err_t TcpCli_Connected(void *arg,struct tcp_pcb *pcb,err_t err)
{
tcp_write(pcb,TCP_TestData,sizeof(TCP_TestData),0); /* 发送数据 */
tcp_sent(pcb, App_sent);
tcp_close(pcb);
return ERR_OK;                                                                                                                                            
}



void TCP_Client_Init()
{
  struct tcp_pcb *Clipcb;
  struct ip_addr ipaddr;

  IP4_ADDR(&ipaddr,192,168,0,127);
  
  Clipcb = tcp_new();                       // 建立通信的TCP控制块(Clipcb)
  
  tcp_bind(Clipcb,IP_ADDR_ANY,1026);       // 绑定本地IP地址和端口号
  tcp_connect(Clipcb,&ipaddr,1026,TcpCli_Connected);
  

}

void
enet_udp(void)
{
   struct ip_addr ulIPAddr,ulNetMask,ulGWAddr;
      if(REVISION_IS_A2)
    {
        SysCtlLDOSet(SYSCTL_LDO_2_75V);
    }
    SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |
                   SYSCTL_XTAL_8MHZ);
   
    SysCtlPeripheralEnable(SYSCTL_PERIPH_ETH);
    SysCtlPeripheralReset(SYSCTL_PERIPH_ETH);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
    GPIOPinTypeEthernetLED(GPIO_PORTF_BASE, GPIO_PIN_2 | GPIO_PIN_3);

    SysTickPeriodSet(SysCtlClockGet() / SYSTICKHZ);
    SysTickEnable();
    SysTickIntEnable();
    IntMasterEnable();

        IP4_ADDR(&ulIPAddr,IPAddress[3],IPAddress[2],IPAddress[1],IPAddress[0]);
        IP4_ADDR(&ulNetMask,NetMaskAddr[3],NetMaskAddr[2],NetMaskAddr[1],NetMaskAddr[0]);
        IP4_ADDR(&ulGWAddr,GwWayAddr[3],GwWayAddr[2],GwWayAddr[1],GwWayAddr[0]);
        lwIPInit(pucMACAddress,ulIPAddr.addr, ulNetMask.addr, ulGWAddr.addr, IPADDR_USE_STATIC);

while(1)
{
    TCP_Client_Init();
    Delay(1000000UL);  
    Delay(1000000UL);
    Delay(1000000UL);
}


}
   
 
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

6
 

回复 5楼 zyjstrong 的帖子

检查 PC 机的 IP 地址和 8962 的 IP 地址和端口
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

7
 
检查了 ip地址没有问题的
    我想做的开发板lm3s8962作为客户端,pc机作为服务器。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表