zyjstrong

    1. LwIP 的TCP连接无法同时收发问题请教。 27/16901 微控制器 MCU 2012-06-12
      大哥,你这个tcp通信的问题解决没有啊?    我现在也是用的lm3s8962的板子,开发板做client,pc做servers,我也想实现你那样的功能,您要是解决了,可以把你的工程文件发给我嘛,我参考学习下,现在调不出来,郁闷的要死,         不胜感激!!!:)
    2. Enet_tcp -客户端. 7/5164 微控制器 MCU 2012-06-07
      我也想做tcp作为客户端发送数据,跪谢啊!
    3. 检查了 ip地址没有问题的    我想做的开发板lm3s8962作为客户端,pc机作为服务器。
    4. #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); } }     :Cry:
    5. #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 ); }    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 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); } } 怎么没有我要的试验现象啊,我用的是keil4平台,测试工具上看不出数据的发送
    6. 什么意思啊?那个我程序里面不是有么?  我是菜鸟,你能说明白点么?
    7. 不好意思啊,我才搞这个,我学电气的,主任要我自己弄,我也不懂!摸不着边,所以,就把代码写上去了,谢谢你啊!
    8. 以太网学习的一点心得 134/57216 微控制器 MCU 2012-05-24
      编译也通过啦      输入 control led on      接受区没有显示 指定本机端口1025选定时,创建会出现, 创建socket失败! 我是新手 不知道怎么办!         希望各位大侠帮忙解决问题,谢谢

最近访客

< 1/1 >

统计信息

已有44人来访过

  • 芯积分:--
  • 好友:--
  • 主题:2
  • 回复:8

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言