J0501跳接1,外部供电
2010.5.6
---- 1. 在stm32f107c中修改了 PHYADDR 定义(根据外部8201的物理地址0x01)
---- 2. 在stm32f107c中修改了 GPIO 定义(根据外部8201的管脚连接 —— 没有 ETH_PSS_OUT 管脚)
---- 3. 在lwipopts.h中将 LWIP_DHCP 修改为 0,不使用动态分配
---- 4. 在lwip的lwipopts.h中定义了内存大小:#define MEM_SIZE (20*1024)
---- 5. netaddr在 netconf.c 中设定
1. IP4_ADDR(&ipaddr, 192, 168, 1, 8);
2. IP4_ADDR(&netmask, 255, 255, 255, 0);
3. IP4_ADDR(&gw, 192, 168, 1, 1);
4. Set_MAC_Address(macaddress);
2010.5.17
---- 1. 将 netconf.c 中 void Display_Periodic_Handle(__IO uint32_t localtime),修改为只处理IP地址设置,不处理LCD和LED的显示
---- 2. 修改stm32f10x_it.c
----
2010.5.18
---- 1. 修改main.c
2010.5.21
---- 1. hello.c处理的是 telnet 连接
---- 2. httpd.c处理的是 tcp 连接 ---- 测试
2010.6.8
---- 1. 加入LED.h,可以控制LED,程序可以启动,但是仍然跑飞。
---- 2. 可能使用JTAG调试会占用总线,导致ETH部分时钟出现问题。
---- 3. 根据LED的闪烁周期,systick的时钟可能存在问题。运行一段时间之后,程序好像出现问题了。
---- 4. 调试 Ethernet_Configuration 部分。
---- 5. 如果加入 ETH_Init,则程序无法正常运行
---- PHY的地址是否正确?
---- 是否PHY工作后,导致MCU不正常
2010.6.9
---- 1. 屏蔽 stm32f107.c 中 Ethernet_Configuration 函数中的 ETH_DeInit(),因为关闭AHBbus后,没有看到再开启(取消了屏蔽)
---- 2. 屏蔽了 Ethernet_Init() 之后,程序不会跑飞
---- 3. 开启 Ehternet_Init(),程序进入 hard_fault处理,stm32文档中指出,可能是 AHB 导致的问题
2010.6.11
---- 1. 所有功能都可以开启通过,但是需要等待比较长的时间
---- 2. 硬件检查
---- 设备配置 :10/100M 半双工/全双工 自适应
---- 1. speed=HIGH, 应该强制进入 100Mhz模式, 但RXC 和 TXC的时钟不对
---- 2. Isolate = LOW, 正确
---- 3. RPTR = LOW,不重发
---- 4. Duplex = HIGH, duplex enable
---- 5. ANE = HIGH, auto negoliation enable
---- 6. LDPS = HIGH, LDPS mode enable // 是否不应该进入该模式,能否通过软件配置退出
---- 7. MII = HIGH, MII mode
---- 1. -- 问题 RTL8201 的 PIN28 RTSET 需要下拉到地,板子是上拉到地
---- 2. RXC 和 TXC 的时钟都是2.5M
2010.6.12
---- 1. 开启LwIP_Init(); 通过,时间大概10s左右,电脑连接后显示100M
---- 2. 开启hello_world\System_Periodic_Handle();,通过,可以通过telnet连接。
2010.7.23
---- 1. tcpip的处理好像都放在 httpd.c -- http_recv 中
---- http_init() --httpd.c--
---- tcp_new() ---- 建立tcp连接块,但是不加入tcp的监听列表
---- tcp_bind() ---- 将建立的tcp连接块 --链接到-- 指定的 --ip地址-- 和 --port端口--
---- tcp_listen() ---- 将tcp连接块设置为 listen 状态
---- tcp_accept() ---- 建立连接后指定的处理方式
---- 3. http_accept() --httpd.c--
---- tcp_arg() --tcp.c-- Used to specify the argument that should be passed callback functions
---- tcp_recv() --tcp.c-- 指出实际调用函数
---- tcp_err() --tcp.c--
---- tcp_poll() --tcp.c--
问题:收发数据具体是在哪儿处理、发送的?
上层程序只需要通知tcp实际使用了哪些函数,把函数入口地址交给tcp就可以。
2010.7.23
---- tcpip接收数据处理在idcard.c中的 --IDCard_recv-- 函数
---- 接收到的数据存放在 name->bytes 指向的地址
---- 发送数据使用 --tcp_write-- 函数
2010.7.26
---- 建立 idcard_client.c 文件
---- 在 模块-卡 之间,模块是 server,因此,如果要和卡通讯,可以调用 tcp_write(ServerPCB...)
---- 在 模块-加密机 之间,模块是 client,因此,如果要和加密机通讯,可以调用tcp_write(ClientPCB...)
---- 现在 client 和 server 使用相同的 recv 函数
---- 取消 client 的 listen 状态,客户端可以连接上
---- 现在 server 和 client 之间直接转发 -- 服务器的地址如何赋值?
---- 在 netconf.c 中,在lwip_init函数中,使用 ip4_addr 函数写入了服务器地址,可以和服务器建立连接
---- 模块 收到了 卡片 的信息(作为服务器),并传给了 加密机 (作为客户端),但是 模块 没有把 加密机
的信息传给 卡片。即模块作为客户端的时候,没能正常传递数据。
---- 模块作为客户端时,不知道有没有收到服务器的数据?!
---- sock建立成功,因为 card->model->secrity 成功了。
---- 最可能的问题是 secrity->model 的时候,根本没有触发 recv 函数
2010.7.27
---- 不能直接使用ServerPCB作为 tcp_write 函数的参数,因为给客户端实际分配的端口和开始绑定的端口并不是一样的。
---- idcard_client.c 和 idcard_server.c 文件中的 recv 函数中进行数据处理。
sihanfei
- 粉丝: 2
- 资源: 8
最新资源
- 4b126基于Springboot+vue的新闻发布管理系统_springboot+vue.zip
- 4b128高校院系学生信息管理系统设计与实现_springboot+vue.zip
- 4b125智慧旅游系统_springboot+vue.zip
- 4b132基于软件研发过程中的缺陷管理系统的设计与实现_springboot+vue.zip
- 4b131小区车辆管理系统-springboot+vue.zip
- 4b129基于springboot+vue的宠物寄养系统.zip
- 4b134校园车辆管理系统_springboot+vue.zip
- Windows 7 离线补丁包 - UpdatePack7R2(24.12.12)珍藏品
- CRT8.7中文版,解压直接使用,不用安装
- 智能合约技术:基于Solidity的数据存储与访问权限管理
- COMSOL电线缆,电磁涡流感应热仿真,集肤效应,涡流效应仿真
- 4b041考试报名系统_springboot+vue0.zip
- 2-SvgToXaml-WPF开发者实用工具
- 4b055在线考试系统_springboot+vue0.zip
- 4b050明星周边商城系统_springboot+vue0.zip
- 4b070水果蔬菜商城_springboot+vue0.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
- 5
- 6
前往页