|
发表于 2021-3-24 11:14:35
|
显示全部楼层
我用的是NUCLEO-H745ZI,threadx和netxduo都移植了,插上网线后卡在 if(tx_semaphore_get(&Semaphore, TX_WAIT_FOREVER) != TX_SUCCESS)。
我用板子直连电脑,电脑IPV4设为192.168.10.10(板子是192.168.10.111),连不上。
然后我把板子插到公司局域网(172.xx.xx.xx),不知道要怎么连接到这个IP了。
还有个问题,就是需要弄个task去检测PHYLinkState = LAN8742_GetLinkState(&lan8742);然后自动检测网线插拔(这个大哥在RL-TCP上看到过)
/* 创建TCP Socket */
ret = nx_tcp_socket_create(&ip_0,
&TCPSocket,
"TCP Server Socket",
NX_IP_NORMAL,
NX_FRAGMENT_OKAY,
NX_IP_TIME_TO_LIVE,
4320,
NX_NULL,
NX_NULL);
if (ret)
{
Error_Handler(__FILE__, __LINE__);
}
/*
* 监听新的链接。
* 创建回调TCP_listen_callback表示监听到新连接。
*/
ret = nx_tcp_server_socket_listen(&ip_0, DEFAULT_PORT, &TCPSocket, MAX_TCP_CLIENTS, tcp_listen_callback);
if (ret)
{
Error_Handler(__FILE__, __LINE__);
}
//////////////卡在这里
if(tx_semaphore_get(&Semaphore, TX_WAIT_FOREVER) != TX_SUCCESS)
{
log_i("aaa");
}
else
{
/* 启动TCP通信前,接收新连接 */
ret = nx_tcp_server_socket_accept(&TCPSocket, TX_WAIT_FOREVER);
log_i("bbb");
if (ret)
{
Error_Handler(__FILE__, __LINE__);
}
}
log_i("444"); |
|