天线|RF射频
直播中

崔丹

7年用户 178经验值
私信 关注
[问答]

TM32F407中的二进制码怎么通过以太网发送到电脑上?

各位前辈:
      感谢您抽空看我提的问题,小弟要做的是将一组存在STM32F407中的二进制码通过以太网发送到电脑上
      不需要TCP/IP协议栈,直接从表示层映射到数据链路层,故将官方例程中的httpserver程序中的TCP/IP部分去掉,改写程序,主要调用了以下库函数:
[C] 纯文本查看 复制代码
  /* configure ethernet (GPIOs, clocks, MAC, DMA) */   ETH_BSP_Config();[C] 纯文本查看 复制代码
ETH_DMATxDescChainInit(DMATxDescTab, (uint8_t *)Test, 2);ETH_Prepare_Transmit_Descriptors(138)ETH_Start();[C] 纯文本查看 复制代码
while(1) { ETH_SetDMATxDescOwnBit(&DMATxDescTab[0]); ETH_SetDMATxDescOwnBit(&DMATxDescTab[1]); }
现已知:
1 。选用RMII接口,连接外部50M晶振,STM32F407中相应的寄存器都设为RMII模式,DP83848初始化时读取相应引脚电平设为RMII
2 。STM32的相关引脚都初始化了
现象:
1.板子运行程序后,电脑上的图标会显示100M已连接,我推测应该是Auto-Negociation的结果,但是明明没有TCPIP协议栈呐, 怎会显示已连接?
2.STM32的TX0,TX1,TX_EN都有信号,但是DP83848不把这些数据往外发(电脑上用wireshark始终捕获不到数据)。
信号如图,黄色信号为TX0,另外的是TX_EN:

提问:DP83848的TX0,TX1,TX_EN上都有信号,为什么DP83848不把这些信号发到电脑上呢?
如有前辈肯指点一二,感激不尽

回帖(3)

李郝荫

2019-10-17 08:49:20
如果灯亮的话肯定没有问题,数据是可以发送出来的,不过不带协议栈的我就不清楚了,我是一直使用协议栈的
举报

谢辅仁

2019-10-17 09:03:28
谢谢!
有没有可能是因为数据格式的问题,传送的数据必须要符合MAC帧格式,才可能被抓包软件捕获   我要发送的数据跟STM32F4的用户手册中的帧格式不大一样
举报

何培芬

2019-10-17 09:16:20
楼主问题解决没?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分