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

 
 
> Асинхронный 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
Ответов
scifi
сообщение May 19 2012, 21:18
Сообщение #2


Гуру
******

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



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


Участник
*

Группа: Участник
Сообщений: 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 Текстовая версия Сейчас: 21st July 2025 - 21:45
Рейтинг@Mail.ru


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