Size: a a a

2021 March 25

E

Evgen in Embedded Group
Anton Kirilenko
с дма ебитесь-с сами.
https://github.com/MaJerle/stm32-usart-uart-dma-rx-tx#dma-httc-and-uart-idle-combination-details

Да вроде парень все разжевывает так еще и примеров на линейку дал хоть обмажтесь DMA
источник

SK

Stas Koynov in Embedded Group
Evgen
тип счетчик не менялся 100 мс значит новый пакет?
ну на 9600 время байта (если это уарт с 8-n-1 == 10 бит) это ~1ms так что 100 это слишком дофига...
источник

e

evg@kzn in Embedded Group
Anton Kirilenko
с дма ебитесь-с сами.
Не осилил?
источник

AK

Anton Kirilenko in Embedded Group
evg@kzn
Не осилил?
у меня атмега128. мне ваши дма ваще не нужны!
источник

E

Evgen in Embedded Group
Stas Koynov
ну на 9600 время байта (если это уарт с 8-n-1 == 10 бит) это ~1ms так что 100 это слишком дофига...
да я туплю
1 мс на байт  вы правы
и задержка столько же
источник

SK

Stas Koynov in Embedded Group
Evgen
да я туплю
1 мс на байт  вы правы
и задержка столько же
ну в модбасе делают 3.5 времени байта. мельчить тоже не стоит.
источник

E

Evgen in Embedded Group
Stas Koynov
ну в модбасе делают 3.5 времени байта. мельчить тоже не стоит.
да это я помню
Я модбас хочу перенести, но сейчас протокол чуть попроще и его хочу на dma+usart
источник

RC

Roman Clor in Embedded Group
Читаю иходники HAL stm32 и нахожу.
  if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
 {
   errorcode = HAL_ERROR;
   goto error;
 }
источник

RC

Roman Clor in Embedded Group
goto мать его)
источник

jp

jon pedro in Embedded Group
Roman Clor
goto мать его)
В ядре линукс есть пример, когда го ту хорошо применять
источник

PB

Petr Belyaev in Embedded Group
Наверное, чтобы не писать return хрен пойми где посередине
источник

LZ

Leonid Zaliubovskii in Embedded Group
Как будто что-то плохое. Порой сильно упрощает флоу
источник

SK

Stas Koynov in Embedded Group
Evgen
да это я помню
Я модбас хочу перенести, но сейчас протокол чуть попроще и его хочу на dma+usart
ну просто в спеках считаем про паузу и все. если железка даст прерывание по времени тишины, после прихода байта, замечательно, нет для хардкора таймер. если мэйн мелкий можно и на софтварных таймерах
Про ДМА с не понятным концом, читаем про ДМА его возможности
источник

RC

Roman Clor in Embedded Group
у меня наверно проф деформация, но это goto ...
источник

jp

jon pedro in Embedded Group
Roman Clor
у меня наверно проф деформация, но это goto ...
Обычно проф деформация заключается в том, что уже не считаешь го ту плохой практикой, когда видишь примеры хорошего использования го ту. В некоторых случаях эта конструкция повышает читаемость кода
источник

PB

Petr Belyaev in Embedded Group
Одна точка входа - одна точка выхода. Практика вроде хорошая, но если ей строго следовать, ни о каких return посередине речи быть не может
источник

E

Evgen in Embedded Group
Stas Koynov
ну просто в спеках считаем про паузу и все. если железка даст прерывание по времени тишины, после прихода байта, замечательно, нет для хардкора таймер. если мэйн мелкий можно и на софтварных таймерах
Про ДМА с не понятным концом, читаем про ДМА его возможности
это когда каждый байт считаем, там намного проще
У него есть возможность таймером мерять, я же хочу чтоб по дма все забиралось и не срабатывало прерывание вот от каждого байта
источник

RC

Roman Clor in Embedded Group
я же на java/c# писал по большей части.
источник

jp

jon pedro in Embedded Group
Petr Belyaev
Одна точка входа - одна точка выхода. Практика вроде хорошая, но если ей строго следовать, ни о каких return посередине речи быть не может
Ну я не думаю, что ядро линукса пишут глупые люди, и какую-то фигню пишут в Linux kernel coding style. 7 пункт про го ту
источник

E

Evgen in Embedded Group
@sadkobogatiygost Подскажи мне с моим слоном)
Ты скзаал можно таймером от дма посчитать, как это можно сделать. Расскажи невеже
источник