Всем привет. Пытаюсь наладить tcp ip соединение между контроллером и пк по tcp ip. Открыл пример, который предоставляет st, tcp echo client. В проекте изменил следующеее:
1) Режим работы с RMII на MII
2) Пины ввода/вывода в соответствии с пинами на плате
Плата пингуется, но почему-то нет соединения с сервером. Как понял внутри LWIP есть функция tcp_echoclient_connected, которая является callback функцией, тип в неё заходит, когда прошло подключение. Но подключение не проходит, не могу понять почему
Код сервера (тупо слушаю порт и при подключении показываю IP клиента)
Код:
/** @brief Работа задачи TcpIp сервера*/
public static async Task TcpServerAsync(string ip, string port)
{
byte[] msg = new byte[1024]; // Массив для входящих сообщений
int cnt = 0; // счетчик байт в сообщении
tcpListener = new TcpListener(IPAddress.Any, Convert.ToInt32(port));
tcpListener.Start();
StartForm.startForm.StartForm_AddLog("-Сервер запущен.");
while (true)
{
tcpClient = await tcpListener.AcceptTcpClientAsync(); // подключение к клиенту
netStream = tcpClient.GetStream(); // получение и отправка сообщений
while (tcpClient.Connected)
{
StartForm.startForm.StartForm_AddLog($"-Входящее подключение: {tcpClient.Client.RemoteEndPoint}");
cnt = await netStream.ReadAsync(msg, 0, msg.Length);
if (cnt != 0)
{
msgHandler(msg);
}
}
}
}
Код настроек IP адреса контроллера
Код:
#define DEST_IP_ADDR0 ((uint8_t)169U)
#define DEST_IP_ADDR1 ((uint8_t)254U)
#define DEST_IP_ADDR2 ((uint8_t)71U)
#define DEST_IP_ADDR3 ((uint8_t)54U)
#define DEST_PORT ((uint16_t)6666U)
/*Static IP ADDRESS: IP_ADDR0.IP_ADDR1.IP_ADDR2.IP_ADDR3 */
#define IP_ADDR0 ((uint8_t) 169U)
#define IP_ADDR1 ((uint8_t) 254U)
#define IP_ADDR2 ((uint8_t) 71U)
#define IP_ADDR3 ((uint8_t) 10U)
/*NETMASK*/
#define NETMASK_ADDR0 ((uint8_t) 255U)
#define NETMASK_ADDR1 ((uint8_t) 255U)
#define NETMASK_ADDR2 ((uint8_t) 255U)
#define NETMASK_ADDR3 ((uint8_t) 0U)
/*Gateway Address*/
#define GW_ADDR0 ((uint8_t) 169U)
#define GW_ADDR1 ((uint8_t) 254U)
#define GW_ADDR2 ((uint8_t) 71U)
#define GW_ADDR3 ((uint8_t) 1U)
В чем может быть дело, почему не проходит подключение, хотя пинг есть и куда смотреть?