Size: a a a

2020 September 20

TB

Taras Bezditnyi in Embedded Group
может кто есть из "глазастых"...
пытаюсь заставить это ( https://pastebin.com/JU1rdBk9 ) работать... (и вроде ЭТО работало, или мне вчера приснилось)...

убираю Callback и просто читаю в таске - и никаких проблем... Global Interrupt на UART2 стоит... уже варианты кончились просто
источник

TB

Taras Bezditnyi in Embedded Group
HAL_UART_IRQHandler(&huart2); - стоит, если что... :(
источник

TB

Taras Bezditnyi in Embedded Group
хорошо что есть дебаггер... плохо что о нем вспомнил в последнюю очередь... osDelay(100) и все понеслось
источник

D

Dr Zlo in Embedded Group
Evgen
там ацп вроде вообще стоит на 100
а как они получают 1000?
А откуда инфа про сто?
источник

К1

Ком 123 in Embedded Group
Taras Bezditnyi
может кто есть из "глазастых"...
пытаюсь заставить это ( https://pastebin.com/JU1rdBk9 ) работать... (и вроде ЭТО работало, или мне вчера приснилось)...

убираю Callback и просто читаю в таске - и никаких проблем... Global Interrupt на UART2 стоит... уже варианты кончились просто
Вообще странный код. Дикая глупость вызывать функции HAL в прерывании. И в таске там тоже дичь, ибо нужен семафор/мьютекс/нотификейшн/бит в эвэнтгруп из коллбэка, чтобы можно было отследить конец приёма
источник

TB

Taras Bezditnyi in Embedded Group
Ком 123
Вообще странный код. Дикая глупость вызывать функции HAL в прерывании. И в таске там тоже дичь, ибо нужен семафор/мьютекс/нотификейшн/бит в эвэнтгруп из коллбэка, чтобы можно было отследить конец приёма
Вполне реально... вопрос, что можно или поправить или почитать (в целом уже увидел). Но вот про вызов HAL в колбеке не понял. Вроде как это везде в документациях. Что именно не корректно в этом?
источник

К1

Ком 123 in Embedded Group
Taras Bezditnyi
Вполне реально... вопрос, что можно или поправить или почитать (в целом уже увидел). Но вот про вызов HAL в колбеке не понял. Вроде как это везде в документациях. Что именно не корректно в этом?
Коллбэк вызывается в в обработчике прерывания. Там кода в идеале должно быть максимум три строчки. А тут получается, что функция приёма по прерыванию вызывается.
источник

TB

Taras Bezditnyi in Embedded Group
Я правильно понимаю, это больше вопросы оптимизации?
источник

К1

Ком 123 in Embedded Group
Taras Bezditnyi
Вполне реально... вопрос, что можно или поправить или почитать (в целом уже увидел). Но вот про вызов HAL в колбеке не понял. Вроде как это везде в документациях. Что именно не корректно в этом?
Почитать api FreeRTOS у неё прям на сайте. Начать с мютексов, перейти к директ ту таск нотификейшнс и закончить эвентгруппами. А вообще, тут идеально отработал бы либо поллинг со стримбуффером, либо приём по dma с нотификейшном и запуском повторного приёма из таска. На 115200 в любом случае камень будет успевать ловить 4 байта
источник

К1

Ком 123 in Embedded Group
Taras Bezditnyi
Я правильно понимаю, это больше вопросы оптимизации?
Это вопросы понимания работы железа, в данном случае, системы прерываний
источник

TB

Taras Bezditnyi in Embedded Group
Ком 123
Это вопросы понимания работы железа, в данном случае, системы прерываний
Далеко мне ещё до этого)) У меня опыта с программированием в С, без году неделя... с ардуино перед этим копался только. Поэтому то что я ещё нифига не знаю - я вполне могу предположить)
источник

TB

Taras Bezditnyi in Embedded Group
Вот по ходу практики и учусь... иначе как?)
источник

К1

Ком 123 in Embedded Group
Taras Bezditnyi
Далеко мне ещё до этого)) У меня опыта с программированием в С, без году неделя... с ардуино перед этим копался только. Поэтому то что я ещё нифига не знаю - я вполне могу предположить)
Это нормально) Просто лучше сразу привыкнуть к тому, что в прерывании кроме флагов и минимума кода ничего не пишется и, по возможности, делать всё аппаратными средствами.
источник

TB

Taras Bezditnyi in Embedded Group
А HAL разве это не фреймворк просто?
источник

К1

Ком 123 in Embedded Group
Taras Bezditnyi
А HAL разве это не фреймворк просто?
А при чём тут он? Ну да, фреймворк. И далеко не все задачи перекрывающий.
источник

К1

Ком 123 in Embedded Group
Его же тоже с умом надо юзать.
источник

TB

Taras Bezditnyi in Embedded Group
Естессна, только надо с чего-то начинать) я тут игрушку ребёнке делаю (хотя скорее себе :)), вот и учусь на хобби
источник

К1

Ком 123 in Embedded Group
Ну это гуд) Я просто указал на узкие места решения. Ну и подсказал, где и что почитать по теме вопроса.
источник

DP

Dmitry Ponyatov in Embedded Group
Wolfgang Amadeus
Печатные платы разных цветов есть ли в них разница? Может по мощностям делятся?
Та что коричневая - говно прессованое с медной фольгой, это даже гетинаксом не назвать
источник

E

Evgen in Embedded Group
Dr Zlo
А откуда инфа про сто?
в соседнем чатике поднимали и ребята говорили, что 100.
p.s а сейчас все таки откопали, что у средней и старшей все же 1
источник