Список прерываний:
USB_OTG_FS
HAL_NVIC_SetPriority(TIM8_TRG_COM_TIM14_IRQn, 8, 0);
HAL_NVIC_SetPriority(TIM5_IRQn, 8, 0);
HAL_NVIC_SetPriority(TIM6_DAC_IRQn, 8, 0);
HAL_NVIC_SetPriority(USART6_IRQn, 6, 0);
HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 5, 0);
HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 5, 0);
HAL_NVIC_SetPriority(DMA2_Stream3_IRQn, 5, 0);
HAL_NVIC_SetPriority(SPI1_IRQn, 5, 0);
HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 5, 0);
HAL_NVIC_SetPriority(QUADSPI_IRQn, 0x0F, 0);
HAL_NVIC_SetPriority(ETH_IRQn, 0x7, 0);
HAL_NVIC_SetPriority(OTG_FS_IRQn, 7, 0);
~={yellow}Проблема с соединением=~
Ссылки:
~={green}Разное о TCP=~
Когда каждая сторона отправила свой SYN чтобы установить соединение, она выбирает исходный номер последовательности (ISN) для этого соединения. ISN должен меняться каждый раз, поэтому каждое соединение имеет свой, отличный от других ISN. ISN - это 32-битный счетчик, который увеличивается на единицу каждые 4 микросекунды. Благодаря номерам последовательностей, пакеты, задержавшиеся в сети и доставленные позже, не воспринимаются как часть существующего соединения.
~={yellow}Установка соединения=~ Для установки соединения достаточно 3 сегмента.
Если сервер не отвечает на SYN клиента, клиент отправит второй SYN через 5.8 секунды, а третий пошлет через 24 секунды после второго. Большинство систем Berkley прекращают попытки соединения через 75 секунд.
~={yellow}Разрыв соединения=~ Для разрыва соединения достаточно 4-ех сегментов. Это связано с тем, что TCP-соединение может быть в полузакрытом состоянии. Каждое направление должно быть закрыто независимо от другого. Когда сервер получает FIN, он отправляет назад ACK с принятым номером последовательности плюс один (сегмент 5). На FIN тратится один номер последовательности, так же как на SYN.
~={yellow}MSS максимальный размер сегмента=~ MSS - это самая большая порция данных, которую TCP пошлет на удаленный конец. Когда соединение устанавливается, каждая сторона может объявить свой MSS. 1024 - было в примерах. IP датаграмма, которая получится в результате, обычно на 40 байт больше: 20 байт отводится под TCP заголовок и 20 байт под IP заголовок. Если одна сторона не принимает опцию MSS от другой стороны, используется размер по умолчанию в 536 байт (в этом случае IP датаграмма будет составлять 576 байт).
// TCP_MSS = (Ethernet MTU - IP header size - TCP header size)
#define TCP_MSS (1500 - 40)