LINUX.ORG.RU

Ответ на: комментарий от aiqu6Ait

Я там в упор не вижу библиотеку. (т.е где скачать)

AUX ★★★
() автор топика

У меня в гитхабе забирай «железную» реализацию.

Eddy_Em ☆☆☆☆☆
()

Вот — на таймере и ПДП. Я встречал еще несколько реализаций, но все огороженные. Только у меня GPL.

После такого на ногодрыг в стиле "авр головного мозга" будешь смотреть, как на говно.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Я тоже на это заявление повелся.... :) Посмотрел, а уровень совместимости stm32f1 с каким нибудь stm32f4 отрицательный. Проще заново переписать. Нам такой HAL не нужен. :)

К радости нашлась ChibiOS со своим качественным уровнем абстракции.

BRE ★★
()
Ответ на: комментарий от Eddy_Em

Мне больше нравиться через USART+DMA, вообще все перекладывается на периферию. Кстати для libopencm3 я его первым и сделал.

BRE ★★
()
Ответ на: комментарий от BRE

Это ложь. Ту реализацию, что я видел, кроме как говном никак не назовешь. Ждать отработку DMA — это же вообще идиотизм. Можно было бы сразу напрямую с UARTом работать.

Я поначалу так и делал, но т.к. очень уж тормозится все на считывании + нужно отрубать все лишние прерывания, я послал это к чертям и сделал полностью аппаратное решение на таймере и ПДП.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Что ложь? Я не знаю какую ты видел реализацию, но я для libopencm3 таких вообще не нашел и сделал сам. Что может тормозиться на считывании, если ты настраиваешь DMA и он сам все отправляет и получает. Тебе остается прийти и забрать из буфера результат.

BRE ★★
()
Ответ на: комментарий от BRE

ПДП+уарт всяко медленней. А опенцм3 нужно для того, чтобы самому не писать заголовочный файл на регистры, как я для стм8 делал.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от BRE

Для работы с 1-wire через UART. И вообще, этот тупой ногодрыг нужен только если у тебя ПДП нормального нет (скажем, на STM8S), а когда есть ПДП и куча таймеров, зачем извращаться?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Какой тупой ногодрыг? Там используется USART с ПДП (это и есть DMA). Тебе нужно подготовить данные для одной транзакции о забыть о нем, он все делает сам. Даже с запрещенными прерываниями.

BRE ★★
()
Ответ на: комментарий от BRE

А, ну тогда это практически ничем от моих таймеров не отличается. Разве что в более извращенной форме.

Я же имел в виду частенько попадающийся на просторах тырнета код, который как бы на уарте и ПДП, а фактически — хрена с два! После каждой отсылки выполняется ожидание отработки ПДП и затем принимаются определенные действия. В общем, автор о КА не слыхал ничего.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

А, ну тогда это практически ничем от моих таймеров не отличается.

Да, только этот способ в качестве бонуса, спокойно работает при запрещеных прерываниях. :)

BRE ★★
()
Ответ на: комментарий от Eddy_Em

Нет. Мне нужно подготовить полный пакет данных для транзакции, он включает как данные для отправки устройству, так и для приема результата. Дальше можно просто запустить обмен, прерывание мне понадобяться только когда произойдет прием последних данных от устройтсва и оно сообщит, что результат готов. Никакие прерывания в процессе работы (отправка и получение данных от устройства) не нужны.

BRE ★★
()

Я думал, только в СССР могут придумывать КР1500РУ480А.

ZenitharChampion ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.