реклама на сайте
подробности

 
 
> STM32F407+LwIP_v.1.3.2+sntp.c из LwIP_v1.4.1 (Raw API)
Pridnya
сообщение Nov 9 2016, 08:27
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 142
Регистрация: 11-01-11
Из: Орел
Пользователь №: 62 159



Всем привет!

Есть рабочий проект на STM32F407 с использованием LwIP_v1.3.2 (без RTOS, Raw API).
На нем работают: ModbusTCP-сервер и UDP-клиент (1 раз в 4 секунды отправляет строку на IP, Port).
UDP-клиента нужно заменить на SNTP-клиента.
Есть готовый код - файлы sntp.h и sntp.c из LwIP_v1.3.0\apps\ но он испльзует сокеты, поэтому не подходит,
есть код LwIP_v1.4.1\apps\ этот код для Raw API, но он тестировался с новой версией стека LwIP_v1.4.1
и использует еще файлы timer.h и timers.c, которых нет в LwIP_v1.3.2.
Просто заменить стек один на другой не получается - проект не собирается, в новом стеке все файлы изменились.
Что проще сделать? Ручками переписать UDP-клиента под SNTP-клиента используя LwIP_v1.3.2
или заменить LwIP_v1.3.2 на более новый LwIP_v1.4.1 и использовать из него sntp.c и sntp.h,
которые вроде как должны с ним работать?

Сообщение отредактировал Pridnya - Nov 9 2016, 08:30
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
scifi
сообщение Nov 9 2016, 08:39
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Если боитесь трогать lwip "потому что не собирается", то проще, конечно, заново изобрести клиента SNTP. Вообще, трудно себе представить что-либо проще, чем SNTP. Разве что простой пинг проще, наверное.
Go to the top of the page
 
+Quote Post
Pridnya
сообщение Nov 9 2016, 08:52
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 142
Регистрация: 11-01-11
Из: Орел
Пользователь №: 62 159



Цитата(scifi @ Nov 9 2016, 11:39) *
Если боитесь трогать lwip "потому что не собирается", то проще, конечно, заново изобрести клиента SNTP. Вообще, трудно себе представить что-либо проще, чем SNTP. Разве что простой пинг проще, наверное.

Я не боюсь, просто замучался с переходом от одной версии к другой. Даже не подозревал, что там все исходники заменили, а синтаксис такой ,что черт ногу сломет, куча переопределений, три вида API, а мне самый низкоуровневый нужен, самый простой.
Такое ощущение, что этот LwIP-стек генератором кода написали с какого-то другого языка, или как минимум
обработали исходники для ухудшения чтения и понимания.

SNTP-клиент, если он как клиент работает - запрашивает время у NTP-сервера, то вроде как все просто: запрос-ответ.
Но если в сети много клиентов, то такой режим не удобен.
А если он в режиме получения широковещательных запросов (с метками времени) работает, то ему еще и этот режим добавлять нужно.
Наверное, нужно оба режима реализовывать. Первый я могу чисто алгоритмически, а вот второй режим еще не пробовал,
это ж нужно, чтобы кто-то рассылал метки времени в сеть. Может, какой программный эмулятор есть?

Сообщение отредактировал Pridnya - Nov 9 2016, 08:57
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 19:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016