Jump to content
    

On 12/3/2025 at 10:22 AM, haker_fox said:

Вы уж определитесь. Показания меняете на ходу.

🤣 да я уже давно определился, ещё одно бесполезное сообщение от вас.

Share this post


Link to post
Share on other sites

17 minutes ago, Bear_ku said:

да я уже давно определился, ещё одно бесполезное сообщение от вас.

Вы можете думать всё что вам угодно. Можете кривляться и паясничать. Вот только это решит вашу проблему? Нет. И судя по уровню вопросов и реакции на данные (не только мной) ответов - идти вам ещё долго...

За сим имею честь. Уже даже не интересно.

Share this post


Link to post
Share on other sites

On 12/1/2025 at 7:42 PM, EdgeAligned said:

А чем отличается в этом случае "на столе" и "не на столе"

На столе можно пылинки сдуть 🙂

Share this post


Link to post
Share on other sites

On 12/3/2025 at 10:48 AM, haker_fox said:

Вы можете думать всё что вам угодно. Можете кривляться и паясничать. Вот только это решит вашу проблему? Нет. И судя по уровню вопросов и реакции на данные (не только мной) ответов - идти вам ещё долго...

За сим имею честь. Уже даже не интересно.

А до этого значит было интересно?! Общение с вами и вам подобными, льющими воду, тоже не помогает решать проблемы, но вам это не препятствует делиться своей "мудростью".
Ваше "честь имею на этом" продержалось в районе часа, буду надеяться, что под "за сим имею честь" кроется более длительный интервал 😁

Share this post


Link to post
Share on other sites

17 minutes ago, Bear_ku said:

тоже не помогает решать проблемы

А почему вы решили, что наши советы не помогают решать ваши проблемы по причине бесполезности советов? А не по вашему неумению их понять и применить? Если пациент не применяет лечение, прописанное врачом, то кто виноват? Чего это вы с себя так лихо сняли ответственность? Самый умный чтоль?))

И, кажется, вы на бесплатном форуме. Здесь вам никто и ничем не обязан. Не нравится -- не ешьте. Проходите мимо. Мне нравится участвовать в этой дискуссии -- буду. Даже если интерес возобновляется.

17 minutes ago, Bear_ku said:

буду надеяться, что под "за сим имею честь" кроется более длительный интервал

Когда форум станет платным -- пожалуйста. А сейчас у вас тут прав не больше, чем у меня. Кстати. Хотя, у меня чуть-чуть побольше. Но я ими не пользуюсь по некоторым причинам))))

Share this post


Link to post
Share on other sites

On 12/3/2025 at 11:15 AM, haker_fox said:

А почему вы решили, что наши советы не помогают решать ваши проблемы по причине бесполезности советов? А не по вашему неумению их понять и применить? Если пациент не применяет лечение, прописанное врачом, то кто виноват? Чего это вы с себя так лихо сняли ответственность? Самый умный чтоль?))

Не. Я не самый умный, поэтому обращаюсь за помощью. А кто кроме меня может решить оказался ли совет мне полезным?

On 12/3/2025 at 11:15 AM, haker_fox said:

И, кажется, вы на бесплатном форуме. Здесь вам никто и ничем не обязан. Не нравится -- не ешьте. Проходите мимо. Мне нравится участвовать в этой дискуссии -- буду. Даже если интерес возобновляется.

Да я вроде ничего и не требовал. 

On 12/3/2025 at 11:15 AM, haker_fox said:

Когда форум станет платным -- пожалуйста. А сейчас у вас тут прав не больше, чем у меня.

Когда форум станет платным вы после прощания будете уходить?! Или какие-то права в этом мешают?! Я вас не понимаю.

Share this post


Link to post
Share on other sites

15 minutes ago, Bear_ku said:

А кто кроме меня может решить оказался ли совет мне полезным?

Вопрос в адекватности вашего решения. Если вы не понимаете суть совета и считаете его бесполезным, это не обесценивает сам совет, это лишь демонстрирует ваше непонимание. В это случае вам не помогут никакие советы, что мы и наблюдаем. Л-логика)

17 minutes ago, Bear_ku said:

Я вас не понимаю.

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

Share this post


Link to post
Share on other sites

On 12/3/2025 at 12:22 PM, haker_fox said:

Вопрос в адекватности вашего решения. Если вы не понимаете суть совета и считаете его бесполезным, это не обесценивает сам совет, это лишь демонстрирует ваше непонимание. В это случае вам не помогут никакие советы, что мы и наблюдаем. Л-логика)

Если совет бесполезен то никакая Л-логика тут не поможет. А кто такие "мы и наблюдаем"?! Вас там много что-ли 😁?!

 

On 12/3/2025 at 12:22 PM, haker_fox said:

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

Очень интересное замечание. А кто тут требовал, чтобы тему покинул пользователь?! Вроде как речь шла о пользователе который прощается, но не уходит 🤣

 

Если раньше была вода. То теперь вообще пошёл пустой трёп. И теперь я скажу вам своё "Чао".

Share this post


Link to post
Share on other sites

On 12/1/2025 at 3:24 PM, Bear_ku said:

т.к. бывали ситуации когда UART затыкался и переставал принимать/передавать.

надо в таких случаях смотреть состояние UART_HandleTypeDef (RxState, ErrorCode ну и всё остальное, по необходимости)
и cодержимое регистров самого уарта

Share this post


Link to post
Share on other sites

On 12/3/2025 at 2:41 PM, kpv said:

надо в таких случаях смотреть состояние UART_HandleTypeDef (RxState, ErrorCode ну и всё остальное, по необходимости)
и cодержимое регистров самого уарта

Ага. Спасибо. Я в текущем проекте уже пошарился по HAL, стало понятнее как оно работает. Дальше, как руки дойдут, уже буду в проекте с DMA смотреть что происходит.

Share this post


Link to post
Share on other sites

В 01.12.2025 в 14:24, Bear_ku сказал:

Ошибки сами по себе не вызывают проблем, их природа ясна. Протокол проигнорирует кадр при наличии в нём ошибок.

Вообще-то, для корректной работы любого протокола, лучше если при возникновении ошибки в UART (RX-overflow, frame rror или чего угодно), программа как-то сообщит об этом парсеру протокола. Чтобы он сбросил текущий принимаемый кадр, или сделал что-то ещё для корректной обработки ситуации. Просто так игнорить ошибки UART - плохой стиль работы по протоколу.

В 02.12.2025 в 02:28, haker_fox сказал:

Знаете, сейчас советовать читать документацию -- оскорблять разработчика.

Вы совершенно правы! Многие "разработчики" прям оскорбляются и сразу переходят на личности, стоит только указать, что неплохо бы почитать документацию на используемое железо.  :unknw:

3 часа назад, kpv сказал:

надо в таких случаях смотреть состояние UART_HandleTypeDef (RxState, ErrorCode ну и всё остальное, по необходимости)

Можно и ничего не смотреть. А просто предполагать, что раз ошибка произошла, то какая-бы они ни была - отреагировать на неё в парсере протокола. Переведя его в начальное состояние (например).

Из исходного сообщения ТС невозможно угадать - для чего используется UART? Какого канала? Насколько велика вероятность ошибок в том канале? В подавляющем большинстве применений UART, вероятность ошибок из него - крайне низка. Т.е. - при нормальной работе можно считать, что их вовсе нет. А потому - лучше делать полный рестарт протокола при получении любой ошибки UART. Как сказал выше.

Share this post


Link to post
Share on other sites

Да тут уже раз -дцать сказали, что следует делать при выявлении ошибки приема. Вероятно, мы на каком-то другом, тарабарском языке говорим, что нас не понимают.
В зависимости от вида устройства и от способа его взаимодействия с пользователем (human-machine interface), оповестить пользователя об обрыве или ненадежной связи и перевести логику программы и UART на ожидание начала нового пакета. Ну, предполагаю, что данные идут пакетом, начинающимся с состояния Idle. (надеюсь, не надо объяснять, какие бывают состояния линии и что это такое? )

Share this post


Link to post
Share on other sites

On 12/3/2025 at 10:07 PM, EdgeAligned said:

Да тут уже раз -дцать сказали, что следует делать при выявлении ошибки приема. Вероятно, мы на каком-то другом, тарабарском языке говорим, что нас не понимают.
В зависимости от вида устройства и от способа его взаимодействия с пользователем (human-machine interface), оповестить пользователя об обрыве или ненадежной связи и перевести логику программы и UART на ожидание начала нового пакета. Ну, предполагаю, что данные идут пакетом, начинающимся с состояния Idle. (надеюсь, не надо объяснять, какие бывают состояния линии и что это такое? )

Может мы и на разных языках общаемся. Речь шла о работе с HAL, точнее о корректной обработке ошибок в плане периферии, а не HMI и пользователи 🤣 
Буду признателен, если объясните на что в данном плане влияет используемый протокол и его начало.

Share this post


Link to post
Share on other sites

2 часа назад, EdgeAligned сказал:

Да тут уже раз -дцать сказали, что следует делать при выявлении ошибки приема. Вероятно, мы на каком-то другом, тарабарском языке говорим, что нас не понимают.

Ему требуется рецепт, т.е. однозначная последовательность действий. А всё остальное для него бесполезная вода. Так что бессмысленно что-то объяснять.

Share this post


Link to post
Share on other sites

Ну дак работа UART на аппаратном уровне не останавливается при получении ошибок (за исключением ошибки overrun), поэтому никаких дополнительных действий с периферийным модулем, кроме сброса флага ошибки, не требуется. 
Ошибка Framing Error обычно означает прием символа Break. Строго говоря, в рамках протокола символ Break не считается ошибкой. И в тех протоколах, которые его используют, он служит разделителем пакетов. В остальных случаях разделителем будет символ Idle. Поэтому, действия по Framing error выходят за рамки HAL. Точнее, программа должна приготовиться к приему нового пакета.

Если возникла ошибка Overrun Error, значит, нужно срочно прочитать предыдущий принятый байт. Если возникает такая ошибка, это говорит о том, что скорость поступления байтов по UART слишком высока для выбранной концепции программы. Проще говоря, ваша программа (вернее, программист, её написавший) - тормозит сильнее, чем того следовало.

При ошибке Noise Error ничего с UART делать не требуется. Это просто индикация шума на линии, ненадежной связи и возможных недостоверно принятых данных. Однако, при появлении Noise Error на некоторых микроконтроллерах можно улучшитьцильтрацию шума в настройках модуля.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...