Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Cетевые протоколы и технологии

Cетевые протоколы и технологии TCP/IP стек

Ответ
 
Опции темы Опции просмотра
Старый 13.08.2016, 18:06   #1
smart_pic
Senior Member
 
Регистрация: 08.12.2008
Адрес: Ставрополь
Возраст: 53
Сообщений: 937
Вес репутации: 1836/58
smart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant future
Отправить сообщение для smart_pic с помощью Skype™
По умолчанию Работа ТСР клиента

Использую Микрочиповский стек.
Если устройство работает как ТСР-сервер, то проблем не возникает. По крайней мере не замечен. Но если устройство работает как ТСР-клиент, то при перезагрузке сервера, некорректном закрытии программы ТСР-сервера, устройство перестает конектиться к серверу и вообще перестает быть доступной в сети. Помогает только перезагрузка. Сторожевой таймер зацикливания не улавливает. Мультизадачный цикл выполняется.
Из ситуации вышел следующим образом: при отсутствии обмена данных с сервера делается рестарт.
Может кто уже сталкивался с подобным?
smart_pic вне форума   Ответить с цитированием
Старый 13.08.2016, 20:11   #2
Vint
Senior Member
 
Регистрация: 08.06.2007
Сообщений: 454
Вес репутации: 723/47
Vint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to beholdVint is a splendid one to behold
По умолчанию

за базу брали проект из TCPIP_Stack_v5xxx, MLA или Harmony?
т.е. настроечные #define-ы из TCPIPConfig.h на обзор предоставьте.
Vint вне форума   Ответить с цитированием
Старый 13.08.2016, 20:26   #3
smart_pic
Senior Member
 
Регистрация: 08.12.2008
Адрес: Ставрополь
Возраст: 53
Сообщений: 937
Вес репутации: 1836/58
smart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant future
Отправить сообщение для smart_pic с помощью Skype™
По умолчанию Re: Работа ТСР клиента

за базу брали проект из TCPIP_Stack_v5.10
Язык С18
только весь стек уже перепахан. Может надо откат сделать на начало и собрать из исходного?
Посмотрю акулой обмен . Поставлю фильтры, может что отловится
Может что покажет


Код:
#ifndef __TCPIPCONFIG_H
#define __TCPIPCONFIG_H

//#include "H_file/GenericTypeDefs.h"
//#include "H_file/Compiler.h"

#define    STACK_USE_DNS
//#define HTTP_USE_POST
//#define HTTP_USE_AUTHENTICATION            // Enable basic authentication support
//#define STACK_USE_BASE64_DECODE
#define STACK_USE_ICMP_SERVER        // Ping query and response capability
#define STACK_USE_UDP
#define STACK_USE_TCP
#define STACK_CLIENT_MODE

#define STACK_USE_DHCP_CLIENT            // Dynamic Host Configuration Protocol client for obtaining IP address and other parameters

#define STACK_USE_HTTP2_SERVER        // New HTTP server with POST, Cookies, Authentication, etc.
#define STACK_USE_MPFS2

#define MAX_UDP_SOCKETS            (9u)
#define MAX_HTTP_CONNECTIONS    (3u)
#define HTTP_DEFAULT_FILE        "index.htm"    // Indicate what file to serve when no specific one is requested
#define HTTP_DEFAULT_LEN        (10u)    // For buffer overrun protection.Set to longest length of above two strings.
#define MPFS_RESERVE_BLOCK        (256ul)
#define MAX_MPFS_HANDLES        (7ul) //  > (MAX_HTTP_CONNECTIONS * 2) + 1) HTTP2 requires 2 MPFS2 file handles per connection, plus one additional.
#define TCP_ETH_RAM_SIZE        (1666ul)

//*******************************************************************
// * Memory Configuration
// *   The following section sets up the memory types for use by
// *   this application.
// *******************************************************************/
    // Represents data stored in Ethernet buffer RAM
    #define TCP_ETH_RAM    0u
    // The base address for TCP data in Ethernet RAM
    #define TCP_ETH_RAM_BASE_ADDRESS            (BASE_TCB_ADDR)
    // Represents data stored in local PIC RAM
    #define TCP_PIC_RAM    1u
    // The base address for TCP data in PIC RAM
    #define TCP_PIC_RAM_BASE_ADDRESS            ((PTR_BASE)&TCPBufferInPIC[0])
    // Represents data stored in external SPI RAM
    #define TCP_SPI_RAM    2u

    // Define names of socket types
    #define TCP_SOCKET_TYPES
        #define TCP_PURPOSE_GENERIC_TCP_CLIENT 0
        #define TCP_PURPOSE_GENERIC_TCP_SERVER 1
        #define TCP_PURPOSE_TELNET 2
        #define TCP_PURPOSE_FTP_COMMAND 3
        #define TCP_PURPOSE_FTP_DATA 4
        #define TCP_PURPOSE_TCP_PERFORMANCE_TX 5
        #define TCP_PURPOSE_TCP_PERFORMANCE_RX 6
        #define TCP_PURPOSE_UART_2_TCP_BRIDGE 7
        #define TCP_PURPOSE_HTTP_SERVER 8
        #define TCP_PURPOSE_DEFAULT 9
        #define TCP_PURPOSE_BERKELEY_SERVER 10
        #define TCP_PURPOSE_BERKELEY_CLIENT 11
        #define TCP_PURPOSE_CUSTOM_APPLICATION 12
        #define TCP_PURPOSE_TCP_REMOTE 13            // мой сокет для проверки моста
        #define TCP_PURPOSE_BRIDGE_Port1 14
        #define TCP_PURPOSE_BRIDGE_Port2 15
    #define END_OF_TCP_SOCKET_TYPES

    #if defined(__TCP_C)
        #define TCP_CONFIGURATION
        ROM struct
        {
            BYTE vSocketPurpose;
            BYTE vMemoryMedium;
            WORD wTXBufferSize;
            WORD wRXBufferSize;
        } TCPSocketInitializer[] = 
        {
            //{TCP_PURPOSE_GENERIC_TCP_CLIENT, TCP_ETH_RAM, 125, 100},
            //{TCP_PURPOSE_GENERIC_TCP_SERVER, TCP_ETH_RAM, 20, 20},
            //{TCP_PURPOSE_TELNET, TCP_ETH_RAM, 150, 20},
            //{TCP_PURPOSE_FTP_COMMAND, TCP_ETH_RAM, 100, 40},
            //{TCP_PURPOSE_FTP_DATA, TCP_ETH_RAM, 0, 128},
            //{TCP_PURPOSE_TCP_PERFORMANCE_TX, TCP_ETH_RAM, 256, 1},
            //{TCP_PURPOSE_TCP_PERFORMANCE_RX, TCP_ETH_RAM, 40, 1500},
            {TCP_PURPOSE_TCP_REMOTE, TCP_ETH_RAM, 128, 128},            // мой сокет для проверки моста
            //{TCP_PURPOSE_UART_2_TCP_BRIDGE, TCP_ETH_RAM, 128, 128},        // уменьшал размер выделяемой памяти для работы с портом
            {TCP_PURPOSE_HTTP_SERVER, TCP_ETH_RAM, 256, 340},   // увеличил для работы с IE 
            {TCP_PURPOSE_BRIDGE_Port1, TCP_ETH_RAM, 64, 64},        // 
            {TCP_PURPOSE_BRIDGE_Port2, TCP_ETH_RAM, 64, 64},        // 
            //{TCP_PURPOSE_DEFAULT, TCP_ETH_RAM, 200, 200},
            //{TCP_PURPOSE_BERKELEY_SERVER, TCP_ETH_RAM, 25, 20},
            //{TCP_PURPOSE_BERKELEY_CLIENT, TCP_ETH_RAM, 125, 100},
            //{TCP_PURPOSE_CUSTOM_APPLICATION, TCP_ETH_RAM, 200, 200},
        };
        #define END_OF_TCP_CONFIGURATION
    #endif

#endif
smart_pic вне форума   Ответить с цитированием
Старый 13.08.2016, 21:07   #4
ampersant
Senior Member
 
Аватар для ampersant
 
Регистрация: 26.02.2008
Адрес: IgorV
Сообщений: 2,170
Вес репутации: 4184/96
ampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond reputeampersant has a reputation beyond repute
По умолчанию Re: Работа ТСР клиента

файл утилитой правили или руками? Во втором случае чудеса могут быть просто так.
ampersant вне форума   Ответить с цитированием
Старый 14.08.2016, 06:18   #5
smart_pic
Senior Member
 
Регистрация: 08.12.2008
Адрес: Ставрополь
Возраст: 53
Сообщений: 937
Вес репутации: 1836/58
smart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant futuresmart_pic has a brilliant future
Отправить сообщение для smart_pic с помощью Skype™
По умолчанию Re: Работа ТСР клиента

Руками естественно правил.
Нет 100% уверенности, что глюк это проблема устройства.
После установки на объекте все работало великолепно. Проблем не замечалось в течении месяца.
Затем переустановили ПО на управляющем компьютере. И после этого начались зависания. Но зависания появляются только после нескольких суток непрерывной работы и в те моменты когда с управляющим компом что то делают.
Такое же устройство стоит на столе. Прошивки одинаковые. Но его периодически выключают. Подобных проблем не обнаруживается.
т.е. нет возможности повторить проблемы и снять лог обмена в этот момент.
smart_pic вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PIC16F877A и MCP41010, работа по SPI RTSAM Своими руками 26 12.09.2015 22:31
Устройство на PIC18F97J60 в качестве клиента. smart_pic Cетевые протоколы и технологии 16 08.04.2015 17:09
Корректная работа с переменными Gothician Продукция MICROCHIP 4 02.06.2009 22:12
Неустойчивая работа прерывания PORTB в 18F.... 1977and Продукция MICROCHIP 5 31.12.2008 08:05


Часовой пояс GMT +3, время: 22:47.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot