port 5500 vs code как исправить

Port 5500 stopped working #51178

Comments

dmiller72 commented Jun 5, 2018

We have written the needed data into your clipboard because it was too large to send. Please paste.

When I save a change now it just ahngs in the reloading stage. I’ve even goten an erro a few times suggesting to change the port. I’ve restaed both the program and my computer a couple of times.

VS Code version: Code 1.23.1 (d0182c3, 2018-05-10T17:11:17.614Z)
OS version: Windows_NT x64 10.0.17134

System Info

ItemValue
CPUsPentium(R) Dual-Core CPU E5400 @ 2.70GHz (2 x 2700)
GPU Status2d_canvas: enabled
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
multiple_raster_threads: disabled_off
native_gpu_memory_buffers: disabled_software
rasterization: unavailable_software
video_decode: unavailable_software
video_encode: enabled
vpx_decode: unavailable_software
webgl: enabled
webgl2: enabled
Memory (System)2.97GB (0.64GB free)
Process ArgvC:\Program Files\Microsoft VS Code\Code.exe
Screen Readerno
VM0%

Extensions (26)

ExtensionAuthor (truncated)Version
vscode-javascript-snippet-packaka0.1.5
path-intellisensechr1.4.2
bracket-pair-colorizerCoe1.0.58
vscode-svgviewercss1.4.4
prettier-vscodeesb1.4.0
auto-close-tagfor0.5.6
auto-rename-tagfor0.0.15
live-html-previewerhdg0.3.0
beautifyHoo1.3.0
html-tag-wrapperhwe0.2.3
open-in-browserigo0.0.99
vscode-colorizekam0.6.20
vscode-githubKni0.28.1
wrapSelectionkon0.6.8
code-beautifiermic2.0.3
view-in-browserqin0.0.5
live-sassrit1.3.0
LiveServerrit4.1.0
vscode-iconsrob7.23.0
sass-indentedrob1.4.9
code-settings-syncSha2.9.2
html5-boilerplatesid1.0.3
code-spell-checkerstr1.6.10
change-casewma1.0.0
JavaScriptSnippetsxab1.6.0
html-css-class-completionZig1.17.1

The text was updated successfully, but these errors were encountered:

We are unable to convert the task to an issue at this time. Please try again.

The issue was successfully created but we are unable to update the comment at this time.

Источник

Error on port 5500. Please try to change the port through settings or report on GitHub. #237

Comments

BolajiAyodeji commented Nov 21, 2018

I’m submitting a.

Current behavior

Expected behavior

Environment

Others

The text was updated successfully, but these errors were encountered:

We are unable to convert the task to an issue at this time. Please try again.

The issue was successfully created but we are unable to update the comment at this time.

jetpack3331 commented Dec 2, 2018

What error do you see? Did you tried to change the port?

Almah2288 commented Sep 1, 2019 •

5.select the Edit in settings.json, add this line off codes:
«liveServer.settings.port»: 0,
and
«liveServer.settings.multiRootWorkspaceName»: «0»

this should resolve the issue.

abhi7585 commented Sep 8, 2019

It is showing Error : 50590

Almah2288 commented Sep 8, 2019

After the issue I reloaded the program and right clicked then selected the open with browser tab and it worked fine.

4roch4 commented Oct 23, 2019

I had this error. I resolved by removing the «» liveServer.settings.useBrowserPreview «: true,» configuration from the Live Server configuration file.

<
«liveServer.settings.CustomBrowser»: «chrome»,
«liveServer.settings.donotVerifyTags»: true,
«liveServer.settings.port»: 0,
«liveServer.settings.multiRootWorkspaceName»: «»,
«liveServer.settings.useBrowserPreview»: true,
«liveServer.settings.fullReload»: true,
«liveServer.settings.useLocalIp»: true
>

After:
<
«liveServer.settings.CustomBrowser»: «chrome»,
«liveServer.settings.donotVerifyTags»: true,
«liveServer.settings.port»: 0,
«liveServer.settings.multiRootWorkspaceName»: «»,
«liveServer.settings.fullReload»: true,
«liveServer.settings.useLocalIp»: true
>

I hope it helps someone.

surya2252 commented Feb 21, 2020

i am using vs code while my creating my first html file i am getting port error 61960.
how to solve the issue

threeeyedspider commented Jun 27, 2020

@4roch4 Can’t thank you enough. I’ve been fighting with this for hours until your code worked perfect! Thanks again!

kevreynoso commented Mar 8, 2021

5.select the Edit in settings.json, add this line off codes:
«liveServer.settings.port»: 0,
and
«liveServer.settings.multiRootWorkspaceName»: «0»

this should resolve the issue.

Thank you. a million thanks!

leokattah commented Mar 24, 2021

I followed the step by step, but I was unsuccessful. Now it is appearing in the Status Bar «Port: 50254 (disabled or without service). Before following the step by step the same message appeared, however» Port: 5500 (disabled or without service).
I am currently using vccode-preview-server successfully.

DonPrincey commented Aug 10, 2021

if your live server is not working this is 2 steps either you reinstall or go to where the file is located in your first open with another browser (open with >) then go to your vs code go to settings type LIVE SERVER then click on the 3rd section then, live server settings: custom
pick chrome or any other browser of your choice then close vs code and reopen. Now you can load your live server

Источник

Расширение Debugger for Chrome для VS Code

Расширение предназначено для отладки js-кода в редакторе VS Code с использованием Chrome DevTools протокола. Это альтернатива тому, чтобы отлаживать js-код в панели разработчика браузера Chrome. Для начала работы нужно установить это расширение в разделе плагинов.

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Подготовка к отладке

Режим launch (запуск)

1. Запуск отладки в режиме launch без сервера

Для начала запустим отладку без использования веб-сервера. Редактируем файл конфигурации отладчика launch.json :

Конфигураций для запуска отладчика может быть несколько, выбрать нужную можно в выпадающем списке слева сверху, после чего нажать F5 для запуска отладки.

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

2. Запуск отладки в режиме launch с LiveServer

Теперь добавим вторую конфигурацию запуска отладки — уже с использованием веб-сервера LiveServer.

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Режим attach (присоединение)

3. Запуск отладки в режиме attach без сервера

Для начала запустим отладку в режиме attach без использования веб-сервера. Для этого добавляем третью конфигурацию запуска отладчика:

Отладчик должен присоединиться к уже запущенному экземпляру Chrome и обмениваться с ним сообщениями по протоколу Chrome DevTools. При этом браузер должен быть запущен с дополнительной опцией, указывающей порт для обмена этими сообщениями. Важный момент — это должен быть единственный экземпляр Chrome, остальные должны быть закрыты.

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

И наконец, присоединяемся к этому экземпляру Chrome из редактора VS Code — как обычно, жмем F5 для запуска отладчика.

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

4. Запуск отладки в режиме attach с LiveServer

Теперь запустим отладку в режиме attach с использования сервера LiveServer. Для этого добавляем четвертую конфигурацию запуска отладчика:

Запускать браузер LiveServer должен с опцией remote-debugging-port — поэтому открываем файл настроек VS Code settings.json и добавляем еще одну настройку. Все экземпляры Chrome должны быть закрыты перед тем, как LiveServer запустит новый экземпляр.

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Перед запуском отладки надо запустить веб-сервер — кнопка запуска LiveServer находится в правом нижнем углу. Теперь все готово — как обычно, жмем F5 для запуска отладчика.

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Глобальные настройки отладчика

Все настройки для отдельного проекта launch.json можно перенести в файл настроек settings.json редактора VS Code — тогда они будут использоваться для всех проектов.

Профиль Chrome для отладки

Расширения Chrome, которые используются для повседневного использования и для веб-разработки часто конфликтуют. Было бы удобно иметь возможность запускать два разных экземпляра Chrome с разными профилями. Один — для повседневного использования при просмотре сайтов, другой — исключительно для веб-разработки.

Давайте создадим еще один ярлык запуска Chrome и изменим строку запуска в свойствах этого ярлыка:

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Теперь запустим Chrome с использованием этого ярлыка, чтобы создать новый профиль Developer :

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Путь к новому профилю можно посмотреть, если набрать в адресной строке браузера chrome://version :

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Можно настроить внешний вид, чтобы он отличался от дефолтного — сразу видно, какой профиль используется:

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Теперь можно установить все расширения, которые нужны для веб-разработки. А из профиля Default для повседневного использования — эти расширения удалить.

Используем новый профиль

1. Отладка в режиме launch без сервера и с профилем Developer

Опция может принимать значение true — использовать временный профиль, false — не использовать временный профиль, путь — использовать указанный путь к директории с профилями.

2. Отладка в режиме launch с LiveServer и c профилем Developer

Давайте скажем веб-серверу, чтобы он сам не запускал браузер — это будет делать отладчик:

И скажем отладчику, чтобы он запускал браузер с использованием профиля Developer :

3. Отладка в режиме attach без сервера и с профилем Developer

В этом случае нам надо самим запускать браузер с профилем Developer (ярлык для этого у нас уже есть), но еще мы должны указать дополнительную опцию remote-debugging-port — создать еще один ярлык или исправить существующий.

4. Отладка в режиме attach с LiveServer и с профилем Developer

Вместо заключения

Получилось несколько многословно, но это из-за того, что мы рассмотрели все возможные варианты запуска отладчика. В реальности запускать отладчик чаще всего удобнее в режиме attach с использованием веб-сервера. LiveServer уже запущен, все изменения сразу отражаются в окне браузера, а если потребовалась отладка — присоединяемся к уже открытому окну.

Источник

VS Code Live Server not working|Live-Server not working in Visual Studio Code port 5500

Solve Live server problem (Port:5500 Error) in VS code in 1 minutes 40 seconds.Подробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Visual Studio Code LIVE SERVER not working | Problem Solved 100% working 💯 with PROOFПодробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Change Live Server Port in VS CodeПодробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Fix: Server is Started at Port 5500 Live ServerПодробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

How to Fix Live Server in Visual Studio Code + Error on Port 5500 SolvedПодробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

VS Code Live Server Extension: Automatic browser reloadПодробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

VS Code Live Server not working Live-Server not working in Visual Studio Code || Rashel-MahomudПодробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

How to Run HTML in VSCode (Visual Studio Code) in Chrome on Windows 10 | Live Server | Best IDE 2021Подробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Solve Live server(Port:5500 Error) in VS code in 44 seconds.Подробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Solve Live server(Port:5500 Error) in VS code in 2 minutes 33 seconds.Подробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Vscode Live Server Not WorkingПодробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

VS code live server is started at 5500 but failed to open in browser previewПодробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

How to Download and Install Visual Studio Code on Windows 10 in 2021Подробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

visual studio code live not working | Live server not working #vasualstudiolivenotworkingПодробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

change live server default browser in VSCode | Live Server default browser change |2021Подробнее

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Vs Code Is Not Opening Browser Directly When Live Server Get On | LIVE SERVER NOT OPENING IN BROWSERПодробнее

Источник

Русские Блоги

Простое использование W5500 и быстрый запуск официальной библиотеки ввода-вывода

Краткое введение

Некоторое время назад я бросил про модуль W5500. Через него был реализован загрузчик на основе TCP / IP. Метод на основе опроса может обеспечить стабильный и надежный вызов стека протоколов.Следующий постМодуль драйвера и пример кода были выпущены в Китае, и на основе основной функции прерываний, но еще не уверенной и стабильной, они продолжают бросать.

Этот сетевой чип реализует стек протоколов TCP / IP через аппаратное обеспечение, 10 / 100M Ethernet-канал (MAC) и физический уровень (PHY), поддерживает TCP, UDP, IPv4, ICMP, ARP, IGMP и PPPoE. Встроенный 32-байтовый буфер. MCU конфигурирует сеть и связывается с сетью через SPI, а частота SPI достигает 80 МГц.

Он предоставляет до 8 независимых сокетов (сокетов), пронумерованных от 0 до 7. Этот сокет немного отличается от того, что обычно называют сокетом. Для UDP операция после установки соответствующего UDP аналогична обычному сокету, но для TCP 1 сокет может соответствовать только одному TCP-соединению, то есть, например, если вы открываете порт, такой как 5000, прослушивающий TCP на порту, то используйте Два TCP-клиента подключаются к сети, и в результате этого может быть успешным только первое соединение TCP. Для одновременного обслуживания нескольких TCP-соединений на одном TCP-порте необходимо одновременно прослушивать этот порт на нескольких сокетах.

Еще один момент, который следует упомянуть, заключается в том, что основная идея связи с W5500 заключается в чтении и записи регистров W5500 для управления различными функциями W5500 или чтения и записи данных. Это похоже на то, как если бы мы работали с каждым модулем, устанавливая значение каждого регистра на микроконтроллере, а потому что Он не подключен напрямую к шине адреса MCU, поэтому регистр операций должен быть реализован косвенно через кадр SPI в определенном формате. Каждый раз, когда регистр считывается или записывается, начальный адрес указывается в фиксированном формате, а затем данные последовательно считываются из MISO или записываются из MOSI. В то же время некоторые другие операции также могут выполняться. Например, в режиме переменной длины данных необходимо сбросить сигнал выбора микросхемы перед каждой отправкой и затем подтолкнуть его после отправки. (Режиму переменной длины данных соответствует режим фиксированной длины данных. В этом режиме нет необходимости часто контролировать сигнал выбора микросхемы, но это очень болезненно при чтении и записи в больших количествах. В настоящее время в официальной версии библиотеки поддерживается только переменная длина данных. Режим, так что нет необходимости запутывать это дело)

Конечно, эти детали были скрыты официальной библиотекой ввода-вывода, в основном нам нужно только вызвать API, предоставляемый библиотекой.

Аппаратное соединение

Вот о том, как соединить основные линии. Здесь предполагается, что вы используете готовую плату разработки. Если вы хотите нарисовать печатную плату самостоятельно, нажмите × в правом верхнем углу. Это почти так (плата за рекламу не взимается, поэтому соответствующий логотип был удален hhh) ↓
port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Ну, во всяком случае, когда вы покупаете готовые платы разработки W5500, они в основном одинаковы, и на них есть всего несколько контактов.

pinфункция
3.3V/5VПотребляемая мощность
GNDСиловая земля
INTКонтакт прерывания
RSTАппаратный сброс
MISOSPI ведущий входной ведомый вывод
MOSISPI ведущий вывод подчиненного входа
SCS/CSSPI SLAVE выбор булавки
SCLK/SCKSPI тактовый вывод

Само собой разумеется, что вход и заземление источника питания являются нормальными соединениями. Обратите внимание на разделение земли с основным чипом, в противном случае связь SPI может прерваться.

Нижние четыре являются линиями, используемыми обычной связью SPI, которые связаны согласно их собственным контактам микросхемы.

INT используется W5500 для вывода сигналов прерывания. Когда W5500 выводит прерывания, этот вывод будет переведен в низкий уровень. Кроме того, если есть несколько прерываний одновременно, механизм W5500 будет выводить прерывания одно за другим, например, два прерывания одновременно Он будет снят на короткое время, затем поднят, а через некоторое время снесен. Если вы хотите использовать механизм прерывания, подключите эту линию к выводу прерывания прерывания MCU, а затем вам нужно установить определенную настройку для внутренних регистров W5500. Если вы не используете этот вывод, вы можете проигнорировать этот вывод.

В частности, если я сам подключу MC9S12XEP100:
MISO-> S4, MOSI-> S5, SCLK-> S6, SCS-> S7 Это вывод, соответствующий SPI0
INT подключен к H0, например, этот порт имеет функцию прерывания по фронту.

Официальная библиотека IO

Адрес загрузки и структура файла:

Забудьте, как найти его на официальном сайте, дайте ссылку на github напрямую, кроме того, эта статья основана на версии 3.1.1, а последняя версия 4.0.0 недавно не тестировалась:
https://github.com/Wiznet/ioLibrary_Driver
Структура файла всего пакета официальной библиотеки выглядит следующим образом:
port 5500 vs code как исправить. Смотреть фото port 5500 vs code как исправить. Смотреть картинку port 5500 vs code как исправить. Картинка про port 5500 vs code как исправить. Фото port 5500 vs code как исправить

Мы видим, что эта библиотека на самом деле совместима с W5100, W5200, W5300 и W5500, но, поскольку я пробовал только W5500, следующее будет относиться только к W5500.

Строго говоря, вы должны открыть wizchip_conf.h и установить следующий макрос на 5500 перед его использованием, но, поскольку это опция по умолчанию, вам не нужно беспокоиться об этом.

stdint.h

Если во время компиляции вы получили ошибку, что stdint.h не включен, вы можете добавить этот заголовочный файл самостоятельно.

Ниже описаны основные функции в соответствии с этапами использования.

Функция SPI и регистрация функции критической секции

Для совместимости библиотека не может предполагать конкретную реализацию SPI и критических секций, поэтому пользователям необходимо активно регистрировать связанные функции драйвера в библиотеке для использования.

В wizchip_conf предусмотрены следующие функции для регистрации драйвера:

Примечание. Все эти функции имеют пустую функцию по умолчанию, поэтому вам не нужно напрямую регистрироваться без использования определенной функции.
Примечание. Фактически существует зарегистрированный интерфейс шины, но поскольку W5500 имеет только интерфейс SPI, эта функция будет напрямую игнорироваться.

Функция критического сечения вызывается в начале и в конце внутренней базовой функции ввода-вывода, что гарантирует атомарность единичного чтения и записи регистра W5500. Конечно, простая функция может фактически считывать и записывать несколько регистров. Если вам нужно убедиться, что Для более широкого спектра взаимоисключающих операций вы должны реализовать некоторые другие механизмы самостоятельно.
Если это единый поток для реализации всего взаимодействия с W5500, то не имеет значения, если вы не зарегистрируете эту функцию.

Функция выбора микросхемы Это функция, которая используется сразу после входа в критическую секцию и используется для уведомления о начале и конце связи W5500. Поэтому не забудьте правильно зарегистрировать эти две функции, опустите сигнал выбора микросхемы, если он выбран, и потяните вверх, если он не выбран.

Ничего не скажешь о функции чтения-записи SPI: базовый ввод-вывод или как другие библиотеки могут узнать, куда отправлять и получать данные.

Пример регистрации (в зависимости от вашей реальной ситуации):

Инициализировать и сбросить

Инициализируйте использование W5500 (socket.h)

Переписка (в wizchip_conf.h)

txsize и rxsize оба являются uint8_t [8]

Мягкий сброс использования W5500 (socket.h)

Эквивалент прямого вызова (wizchip_conf.h)

На самом деле, если вам не нужно настраивать размер буфера, просто используйте программный сброс в качестве инициализации.

Получить идентификатор чипа

Это бессмысленная особенность, но она в значительной степени упоминается.

Идентификатор зафиксирован как «W5500».

Настройка и чтение конфигурации сети

Установить и получить конфигурацию сети, параметры указателей на следующую структуру

Они эквивалентны прямому вызову (в wizchip_conf.h)

Возвращаемое значение ctlnetwork не может определить, является ли настройка успешнойПоэтому, как правило, после настройки мы читаем конфигурацию обратно, чтобы определить правильную настройку. Если они совпадают, это означает правильную настройку, в противном случае мы должны проверить, что-то не так с коммуникацией.

Следует отметить, что хотя в структуре wiz_NetInfo имеются параметры DNS и шлюза, на самом деле эти функции необходимо подключить к другим программам, иначе это не имеет смысла. Если вы хотите использовать его напрямую, используйте его в качестве статического IP-адреса. Установите честный MAC-адрес, локальный IP-адрес, маску подсети и адрес шлюза.

Тайм-аут конфигурации

Например, при инициализации соединения TCP или отправке данных, если в течение определенного периода времени ответа нет (то есть превышен период ожидания), W5500 отправит его повторно. Если по истечении количества попыток ответа не получено, будет вызвано прерывание по времени.
Если вам нужно настроить поведение тайм-аута:

Эквивалентно вызову socket.h:

Конечно, есть соответствующие методы get, то есть set для получения.

Читать сокет конечного автомата

Возвращаемое значение показано в следующей таблице.Для понимания описание прямо изменилось на функцию в библиотеке io:

состояниеописание
SOCK_CLOSEDСокет закрыт и ресурсы освобождены. После вступления в силу команды отсоединения или закрытия или по истечении времени ожидания предыдущее состояние будет игнорироваться независимо от предыдущего состояния.
SOCK_INITСокет открывается в режиме TCP, прежде чем вы можете позвонить подключиться или прослушать. Перейдите в это состояние, правильно вызвав функцию сокета.
SOCK_LISTENсокет работает в режиме TCP-сервера и ожидает (прослушивает) запросы на подключение
SOCK_SYNSENTСокет отправил пакет запроса соединения (пакет SYN), который является промежуточным состоянием после использования команды подключения от SOCK_INIT. Если впоследствии он получает «принятое соединение» (пакет SYN / ACK), он переключится на SOCK_ESTABLISHED, в противном случае он будет Переключитесь на SOCK_CLOSED и установите флаг прерывания по таймауту
SOCK_SYNRECVСокет получил «запрос на подключение» (пакет SYN). Если последующий ответ (пакет SYN / ACK) успешно отправлен, он будет преобразован в SOCK_ESTABLISHED, в противном случае он будет преобразован в SOCK_CLOSED после тайм-аута, и будет установлен флаг прерывания по тайм-ауту.
SOCK_ESTABLISHEDСоединение с сокетом tcp установлено, то есть состояние, полученное клиентом tcp в состоянии SOCK_LISTEN, и ответ успешен, или он изменится на состояние после успешного использования команды подключения.
SOCK_FIN_WAIT
SOCK_CLOSING
SOCK_TIME_WAIT
Указывает, что сокет закрывается. Это промежуточные состояния, в которых TCP-ссылки активно или пассивно закрыты.
SOCK_CLOSE_WAITУказывает, что сокет закрывается. Это состояние указывает, что сокет получил «запрос на отключение» (пакет FIN) от другой стороны канала TCP. Это полузакрытое состояние и может продолжать отправлять данные. После отправки, вам нужно позвонить отключить или закрыть, чтобы полностью закрыть его.
SOCK_LAST_ACKУказывает, что сокет пассивно закрыт. Это состояние указывает, что сокет ожидает ответа (пакет FIN / ACK) на «запрос на отключение» (пакет FIN). Он изменится на статус SOCK_CLOSED после успешного получения ответа или по истечении времени ожидания.
SOCK_UDPСокет работает в режиме UDP. Перейдите в это состояние, правильно вызвав функцию сокета.
SOCK_IPRAWIP raw режим. Эта статья не охватывает этот аспект.
SOCK_MACRAWРежим MACRAW. Эта статья не охватывает этот аспект.

Итак, вы видите, что большинство программ выглядят так:

Это драйвер конечного автомата на основе сокетов.

Кроме того, если вы хотите использовать функции в socket.h, вышеприведенное эквивалентно:

Открытая розетка

Примечание. Настройте параметры сети перед открытием сокета.
Сокет изначально находится в состоянии SOCK_CLOSED, и в данный момент связь не может быть выполнена.
Чтобы установить связь, вам сначала нужно открыть сокет и настроить его как определенный протокол, вызвав функцию сокета в socket.h:

TCP socket

Например, настройте сокет 1 в режиме tcp и подключитесь к порту 5555:

SF_TCP_NODELAY указывает, что сокет должен ответить на пакет ACK как можно скорее после получения пакета данных от другой стороны, в противном случае для задержки требуется период ожидания.
SF_IO_NONBLOCK используется для управления поведением функций в socket.h. Если эта опция включена, вызов большинства функций в socket.h для этого сокета не будет блокировать ожидание результата вызова, но будет Вернитесь как можно скорее после подтверждения инструкции. Следует отметить, что при включении возвращаемое значение большинства функций будет SOCK_BUSY, что не означает, что вызов не удался.

UDP socket

Например, настройте сокет 2 в режиме udp и подключитесь к порту 5555:

Главное поменять договор.
SF_IO_NONBLOCK имеет тот же эффект, что и выше. Если параметр flags не нужен, просто передайте ему 0.

TCP открывает прослушивание и инициирует соединение

После успешной настройки сокета в режиме tcp вы можете открыть прослушивание, вызвав listen, то есть как tcp сервер:

После того, как сокет успешно настроен в режиме TCP, TCP-соединение инициируется вызовом connect:

Чтобы подключить сокет 1, который был инициализирован к режиму tcp, к 192.168.2.30:8080:

Отправлять и получать данные

После того, как TCP-соединение на сокете успешно установлено, можно отправить функцию отправки для отправки данных.

Например, отправьте hello world в сокет 1, который установил канал TCP:

После успешного установления TCP-соединения на сокете можно вызвать функцию recv для получения полученных данных.

Обратите внимание, что если размер буфера меньше размера буфера приема сокета, это не гарантирует, что все данные могут быть получены за один вызов. Поэтому он часто будет получать и обрабатывать в цикле, пока возвращаемое значение не станет меньше или равно 0.

После инициализации сокета в режиме udp для отправки данных используется функция sendto.

Например, отправьте данные в 192.168.2.30:3333, используя сокет 2, инициализированный для udp:

Соответственно, функцию recvfrom необходимо использовать при получении.

Для протоколов без установления соединения, таких как UDP, W5500 не извлекает IP-адрес автоматически, но напрямую отправляет весь пакет пользователю для обработки, поэтому IP-адрес отправителя фактически является программным способом получения заголовка из каждой дейтаграммы. Извлекается везде. Для достижения этой функции в библиотеке io есть биты флага для записи того, является ли текущий пакет новым пакетом. Если это так, адрес извлекается и возвращается. Это решение также напрямую приводит к тому, что каждый пакет может получить информацию об IP-адресе только при первом вызове recvfrom.

Хотя в английском комментарии библиотеки говорится, что, читая метод PACKINFO, чтобы определить, допустимы ли addr и порт, читая исходный код, кажется, что этот метод бесполезен. К счастью, если это не первый пакет, значение, указанное в addr и port, не будет изменено внутри функции. Следовательно, следующий метод может гарантировать, что IP-адрес правильный каждый раз, когда он получен.

Получить IP-адрес объекта ссылки

Под UDP recvfrom может напрямую получить IP-адрес другой стороны. Но для соединений TCP это, в основном, сервер TCP, если вам нужно знать IP-адрес объекта ссылки.

Эквивалентно вызову socket.h:

Автоматическое обнаружение пакетов сердцебиения

Для соединения TCP, если соединение случайно отключено, например, отсоединен сетевой кабель, W5500 может не знать, что фактического соединения нет, и затем думает, что оно все еще подключено, ожидает данные, а затем разрывается.
По этой причине вам необходимо добавить обнаружение сердцебиения, чтобы обеспечить нормальную связь.
Чтобы включить автоматическое обнаружение сердцебиения, после того как сокет инициализирован в режиме TCP:

Приведенный выше код эквивалентен:

Следует отметить, что пакет KeepAlive изменится на SOCK_ESTABLISHED в состоянии сокета и свяжется с другой стороной.Получил или отправил хотя бы один разПередача после общения. Поэтому рекомендуется размещать что-то сразу после установления ссылки.

Конечно, вы также можете отправлять контрольные пакеты вручную (автоматическая отправка не включена):

Отключить TCP соединение

Если вам нужно активно отключить канал TCP или чаще, вам нужно отключиться, потому что вы обнаружите, что состояние сокета SOCK_CLOSE_WAIT полузакрыто.
, затем вызовите функцию отключения:

Закрыть сокет

Чтобы закрыть сокет, вызовите функцию закрытия:

Фактически, когда вызывается сокет, функция close вызывается сначала изнутри, поэтому нет необходимости сначала вызывать close для закрытия сокета.

Прерывание

W5500 предоставляет механизм прерываний для улучшения реакции MCU в реальном времени.
Механизм прерывания используется для разработки коммуникационной программы с W5500, которая представляет собой контент высокого уровня, который здесь не раскрывается. Однако следует отметить, что если вы используете прерывания и используете официальную библиотеку ввода-вывода, вы должны избегать прерываний SENDOK и TIMEOUT. Эти два прерывания используются внутренне библиотекой ввода-вывода. Если вы удалите их самостоятельно, библиотека не будет работать должным образом.
Кроме того, общая методика для флагов прерываний состоит в том, чтобы определить, были ли получены данные и установлена ​​ли новая связь TCP:

Обратите внимание, что хотя опрашиваемый регистр называется регистром прерывания (IR), приведенный выше также относится к программе разработки опроса.

Разное

UDP-трансляция

Это на самом деле знание TCP / IP, и это не проблема при использовании W5500. Построить целевой IP-адрес в соответствии с требованиями при трансляции
Если вы хотите вещать глобально, отправьте на 255.255.255.255
Если вы хотите вещать 192.168.2.0/24 (то есть маска 255.255.255.0), она будет отправлена ​​на 192.168.2.255
Конкретный код не записывается, и пример кода в sendto отличается от конкретного значения IP-адреса.

UDP многоадресная рассылка

При отправке данных на адрес многоадресной рассылки нечего сказать, просто установите IP-адрес для многоадресной рассылки. Давайте поговорим о добавлении адреса многоадресной рассылки.
Чтобы присоединить адрес многоадресной рассылки, необходимо установить DIPR и DPORT на соответствующий адрес многоадресной рассылки, прежде чем открывать сокет для UDP, а затем включить многоадресную рассылку при открытии сокета.
При взаимодействии с WIN7 я обнаружил, что IGMP версии 2 необходим для успешного взаимодействия (то есть SF_IGMP_VER2 включен во флаге)
После присоединения адреса многоадресной рассылки сокет не может отправлять обычные пакеты UDP, могут отправляться только многоадресные пакеты.
Если вы хотите отправлять обычные пакеты UDP на один и тот же порт UDP, вы должны заново открыть сокет.
Пример кода:

постскриптум

В этой статье кратко описывается простое использование W5500 и общие операции официальной библиотеки ввода-вывода, основанные на ее собственных исследованиях и обучении. Возможности ограничены, и неизбежно, что есть упущения.

ссылки

[1] WIZnet Co., Ltd. W5500 Лист данных v1.3

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *