OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5781|回复: 10

ENC28J60求教

[复制链接]

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2012-9-7
在线时间
0 小时
发表于 2013-10-17 16:10:06 | 显示全部楼层 |阅读模式
原子兄  刚入手了一个战舰开发板  借鉴网络部分代码 

#define port 51000   //?
void tcp_client_reconnect()
{
 uip_ipaddr_t ipaddr;
 uip_ipaddr(&ipaddr,192,168,1,115); //设置IP为192.168.1.115
 uip_connect(&ipaddr,htons(port));  //端口为1400
}

端口号1400可以连接 其他的连不上去    原子兄  求教   着急啊 
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2012-9-7
在线时间
0 小时
 楼主| 发表于 2013-10-17 16:32:07 | 显示全部楼层
我想更换端口号 如何更改  求教
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2012-9-7
在线时间
0 小时
 楼主| 发表于 2013-10-17 17:48:50 | 显示全部楼层
extern uint port;


//TCP应用接口函数(UIP_APPCALL)
//完成TCP服务(包括server和client)和HTTP服务
void tcp_demo_appcall(void)
{
  
switch(uip_conn->lport)//本地监听端口80和1200 
{
case HTONS(80):
httpd_appcall(); 
break;
case HTONS(1200):
    tcp_server_demo_appcall(); 
break;
default:   
    break;
}     
switch(uip_conn->rport) //远程连接1400端口
{
   case HTONS(port):
     tcp_client_demo_appcall();
        break;
   default: 
        break;
}   

不知道为什么这个端口 换成变量就报错了   纠结
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-17 23:33:39 | 显示全部楼层
不能换成变量...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2012-9-7
在线时间
0 小时
 楼主| 发表于 2013-10-19 15:50:54 | 显示全部楼层
//连接建立
void tcp_client_connected(void)

struct tcp_demo_appstate *s=(struct tcp_demo_appstate *)&uip_conn->appstate;

    u8 temp[622] = {0x00,0x01,.....................................................................,0x01,0x02 };
  tcp_client_sta|=1<<7; //标志连接成功
   uip_log("tcp_client connected!\r\n");//打印log
s->state=STATE_CMD;  //指令状态
s->textlen=0;
//s->textptr="ALIENTEK STM32 Board Connected Successfully!\r\n";//回应消息


   
 s->textptr = temp;
 s->textlen = 622;
}

发送了一个数据  622个数   用网络调试工具接受 发现最后14位数据变了    

开始以为是数据buf太小   找了半天还是没找到问题   原子大哥   求救啊
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2012-9-7
在线时间
0 小时
 楼主| 发表于 2013-10-19 16:02:15 | 显示全部楼层
修改的代码
//连接建立
void tcp_client_connected(void)

struct tcp_demo_appstate *s=(struct tcp_demo_appstate *)&uip_conn->appstate;

    u8 temp[622] = {  
                0x3C,0x00,0x6D,0x00,0x5F,0x00,0x73,0x00,0x5F,0x00,0x69,0x00,0x3E,0x00,0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x3E,0x00, 
        0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x6E,0x00,0x3E,0x00,0x6D,0x00,0x61,0x00,0x6E,0x00,0x75,0x00,0x66,0x00, 
        0x61,0x00,0x63,0x00,0x74,0x00,0x75,0x00,0x72,0x00,0x65,0x00,0x72,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00, 
         0x5F,0x00,0x6E,0x00,0x3E,0x00,0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x76,0x00,0x3E,0x00,0x66,0x00,0x6F,0x00, 
        0x6E,0x00,0x67,0x00,0x77,0x00,0x61,0x00,0x68,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x76,0x00, 
        0x3E,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x3E,0x00,0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x3E,0x00, 
        0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x6E,0x00,0x3E,0x00,0x62,0x00,0x69,0x00,0x7A,0x00,0x5F,0x00,0x66,0x00, 
        0x6C,0x00,0x61,0x00,0x67,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x6E,0x00,0x3E,0x00,0x3C,0x00, 
         0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x76,0x00,0x3E,0x00,0x53,0x00,0x54,0x00,0x41,0x00,0x54,0x00,0x55,0x00,0x53,0x00, 
          0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x76,0x00,0x3E,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00, 
        0x66,0x00,0x3E,0x00,0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x3E,0x00,0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00, 
        0x6E,0x00,0x3E,0x00,0x72,0x00,0x65,0x00,0x61,0x00,0x64,0x00,0x65,0x00,0x72,0x00,0x5F,0x00,0x69,0x00,0x64,0x00,0x3C,0x00, 
         0x2F,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x6E,0x00,0x3E,0x00,0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00, 
        0x76,0x00,0x3E,0x00,0x30,0x00,0x34,0x00,0x2D,0x00,0x30,0x00,0x32,0x00,0x2D,0x00,0x33,0x00,0x35,0x00,0x2D,0x00,0x30,0x00, 
        0x30,0x00,0x2D,0x00,0x30,0x00,0x30,0x00,0x2D,0x00,0x30,0x00,0x31,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00, 
        0x5F,0x00,0x76,0x00,0x3E,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x3E,0x00,0x3C,0x00,0x6D,0x00,0x5F,0x00, 
        0x66,0x00,0x3E,0x00,0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x6E,0x00,0x3E,0x00,0x72,0x00,0x65,0x00,0x61,0x00, 
        0x64,0x00,0x65,0x00,0x72,0x00,0x5F,0x00,0x69,0x00,0x70,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00, 
        0x6E,0x00,0x3E,0x00,0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x76,0x00,0x3E,0x00,0x31,0x00,0x39,0x00,0x32,0x00, 
        0x2E,0x00,0x31,0x00,0x36,0x00,0x38,0x00,0x2E,0x00,0x30,0x00,0x30,0x00,0x31,0x00,0x2E,0x00,0x30,0x00,0x32,0x00,0x30,0x00, 
        0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x76,0x00,0x3E,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00, 
        0x66,0x00,0x3E,0x00,0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x3E,0x00,0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00, 
        0x6E,0x00,0x3E,0x00,0x73,0x00,0x74,0x00,0x61,0x00,0x74,0x00,0x75,0x00,0x73,0x00,0x20,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00, 
        0x5F,0x00,0x66,0x00,0x5F,0x00,0x6E,0x00,0x3E,0x00,0x3C,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x76,0x00,0x3E,0x00, 
        0x30,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00,0x66,0x00,0x5F,0x00,0x76,0x00,0x3E,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00, 
        0x5F,0x00,0x66,0x00,0x3E,0x00,0x3C,0x00,0x2F,0x00,0x6D,0x00,0x5F,0x00,0x73,0x00,0x5F,0x00,0x69,0x00,0x3E,0x00,
 };
    //采集到的数据
   /*
                   3C 00 6D 00 5F 00 73 00 5F 00 69 00 3E 00 3C 00 6D 00 5F 00 66 00 3E 00 
   3C 00 6D 00 5F 00 66 00 5F 00 6E 00 3E 00 6D 00 61 00 6E 00 75 00 66 00 
   61 00 63 00 74 00 75 00 72 00 65 00 72 00 3C 00 2F 00 6D 00 5F 00 66 00 
   5F 00 6E 00 3E 00 3C 00 6D 00 5F 00 66 00 5F 00 76 00 3E 00 66 00 6F 00 
   6E 00 67 00 77 00 61 00 68 00 3C 00 2F 00 6D 00 5F 00 66 00 5F 00 76 00
   3E 00 3C 00 2F 00 6D 00 5F 00 66 00 3E 00 3C 00 6D 00 5F 00 66 00 3E 00 
   3C 00 6D 00 5F 00 66 00 5F 00 6E 00 3E 00 62 00 69 00 7A 00 5F 00 66 00 
   6C 00 61 00 67 00 3C 00 2F 00 6D 00 5F 00 66 00 5F 00 6E 00 3E 00 3C 00 
   6D 00 5F 00 66 00 5F 00 76 00 3E 00 53 00 54 00 41 00 54 00 55 00 53 00 
   3C 00 2F 00 6D 00 5F 00 66 00 5F 00 76 00 3E 00 3C 00 2F 00 6D 00 5F 00 
   66 00 3E 00 3C 00 6D 00 5F 00 66 00 3E 00 3C 00 6D 00 5F 00 66 00 5F 00 
   6E 00 3E 00 72 00 65 00 61 00 64 00 65 00 72 00 5F 00 69 00 64 00 3C 00 
   2F 00 6D 00 5F 00 66 00 5F 00 6E 00 3E 00 3C 00 6D 00 5F 00 66 00 5F 00 
   76 00 3E 00 30 00 34 00 2D 00 30 00 32 00 2D 00 33 00 35 00 2D 00 30 00 
   30 00 2D 00 30 00 30 00 2D 00 30 00 31 00 3C 00 2F 00 6D 00 5F 00 66 00
   5F 00 76 00 3E 00 3C 00 2F 00 6D 00 5F 00 66 00 3E 00 3C 00 6D 00 5F 00 
   66 00 3E 00 3C 00 6D 00 5F 00 66 00 5F 00 6E 00 3E 00 72 00 65 00 61 00 
   64 00 65 00 72 00 5F 00 69 00 70 00 3C 00 2F 00 6D 00 5F 00 66 00 5F 00 
   6E 00 3E 00 3C 00 6D 00 5F 00 66 00 5F 00 76 00 3E 00 31 00 39 00 32 00 
   2E 00 31 00 36 00 38 00 2E 00 30 00 30 00 31 00 2E 00 30 00 32 00 30 00 
   3C 00 2F 00 6D 00 5F 00 66 00 5F 00 76 00 3E 00 3C 00 2F 00 6D 00 5F 00 
   66 00 3E 00 3C 00 6D 00 5F 00 66 00 3E 00 3C 00 6D 00 5F 00 66 00 5F 00 
   6E 00 3E 00 73 00 74 00 61 00 74 00 75 00 73 00 20 00 3C 00 2F 00 6D 00 
   5F 00 66 00 5F 00 6E 00 3E 00 3C 00 6D 00 5F 00 66 00 5F 00 76 00 3E 00 
   30 00 3C 00 2F 00 6D 00 5F 00 66 00 5F 00 76 00 3E 00 3C 00 2F 00 6D 00 
   5F 00 66 00 3E 00 3C 00 2F 00 6D 00 5F 00 73 00 5F 00 69 00 3E 00
   */ 



  tcp_client_sta|=1<<7; //标志连接成功
   uip_log("tcp_client connected!\r\n");//打印log
s->state=STATE_CMD;  //指令状态
s->textlen=0;
//s->textptr="ALIENTEK STM32 Board Connected Successfully!\r\n";//回应消息


   
 s->textptr = temp;
 s->textlen = 622;
}
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-19 19:17:00 | 显示全部楼层
局部数组搞这么大,不死机算不错了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2012-9-7
在线时间
0 小时
 楼主| 发表于 2013-10-21 09:26:05 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
原子大哥   数组的数据是我要返回给上位机的   相当于一个协议  上位机收到数据后才会执行后续的操作

测试发现到长度到608是正确的  发送=接收的(网络调试助手)    超出部分数就变了   不明白问题出在哪儿
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2012-9-7
在线时间
0 小时
 楼主| 发表于 2013-10-21 10:45:07 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
今天又验证了下  u8 temp[622] = {  };JTAG能下载程序

设置u8 temp[624]={}; 程序就下不进去了   为什么呢  局部数组大了吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-21 14:31:56 | 显示全部楼层
回复【9楼】wangchaoxy2008:
---------------------------------
放全局变量,局部变量,超过50个,我都不敢放的。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2012-9-7
在线时间
0 小时
 楼主| 发表于 2013-10-22 17:02:42 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
谢谢原子大哥 
问题已解决  设置为全局变量就Ok了   

代码里  还要好多地方需要学习   代码的世界里好坑爹
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-10 15:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表