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

 
 
> Асинхронный lwip
marco
сообщение May 19 2012, 16:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 12-12-10
Пользователь №: 61 580



Добрый день.
tftp-сервер. По запросу (для определённости, на чтение) МК запрашивает данные у другого МК по некому асинхронному протоколу, работающему поверх CAN.
Предполагал, что буду делать так:
Код
struct udp_pcb *tftp_pcb;

tftp_callback(struct udp_pcb pcb, ...)
{
    ...

    tftp_pcb = pcb;
}

main()
{
    while(1) {
        <CAN data transmission...>

        if(data_received) {
            tftp_send_data(tftp_pcb, ...);
        }
    }
}


... но данные не отправляются. ЧЯДНТ?

RAW API

Сообщение отредактировал marco - May 19 2012, 18:05
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
scifi
сообщение May 19 2012, 19:47
Сообщение #2


Гуру
******

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



Что-то я контекст вообще не понял.
Какой такой tftp сервер, откуда взялся? Я, к примеру, свой ваял.
Ну и, следовательно, суть вопроса вообще непонятна. Ясно только, что "нифига не работает".
Go to the top of the page
 
+Quote Post
marco
сообщение May 19 2012, 20:14
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 12-12-10
Пользователь №: 61 580



Пардон.
Шелезяка, у которой с одной стороны - ethernet (который слушает tftp из lwip), с другой - последовательный интерфейс, через который она общается с другим МК.
Во время нового tftp-запроса на чтения я должен инициализировать передачу данных от удалённого МК, отложив при этом tftp-ответ до тех пор, пока не получу от этого МК первую порцию данных.
Go to the top of the page
 
+Quote Post
scifi
сообщение May 19 2012, 21:18
Сообщение #4


Гуру
******

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



А хоть в каком-то виде этот TFTP сервер работает?
Вообще прежде чем задавать такие вопросы не вредно было бы просто пройтись по программе в отладчике и посмотреть, что там реально происходит в том месте, где должна происходить отправка данных.
Go to the top of the page
 
+Quote Post
marco
сообщение May 29 2012, 08:34
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 12-12-10
Пользователь №: 61 580



Нашёл проблему. В udp_pcb не сохраняется адреса (IP, порт) отправления-назначения: возможно, специфика работы udp в lwip. Сохраняю это состояние в отдельной структуре и всё ок.
Go to the top of the page
 
+Quote Post

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

 


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


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