Преобразование BIN -->BCD

Для АРМов с развитой периферией уже не актуально. Поток команд может прерываться практические непредсказуемо. Синхронизация на том же СТМ32 путем “подсчета тактов” - невозможна. Шах и мат - фанаты астмы! :rofl:

Да, я лишь начинающий, знаком пока только с AVR, и PIC, и то отчасти))

Он всегда такой, не обращай внимания. Мог бы знания свои и в пользу людям дать, но «корни» берут своё )))

Как по мне , всё норм)). Я понял о чём речь. В AVR периферия , за редким исключением, тактируется Clkio, а значит от проца. У ARM, похоже, больше “разнообразия”)).Да и когда у тебя большой запас по частоте CPU, уже не так актуально считать такты.

А шо я с этого буду иметь? В смысле ежели потрогать, не кантовскую “сиську в себе”, а пусть небольшую, но фейербаховскую.

Почёт и увОжение.
А за сиськи

Фрикадельков на вас нехватает :slightly_smiling_face:

Для этого и придуманы аппаратные счётчики, дешифраторы и прочая периферия.
В крайнем случае ПЛИС. Это прям ваще по жесткачу если надо наносекунды всякие.
Либо дискретная логика на рассыпухе.

1 лайк

Да, на асме всё просто как божий день. Но только на ТОМ асме, на том простом 8-ми битном асме, а не на современных STM32 и им подобных. На AVR, иной раз, тоже приходится подсматривать что же там Си делает в итоге.

1 лайк

Господи, как приятно общаться с культурным человеком. Он не просто говорит что ты не прав, и кроме сисек приводит самые простые доказательства.
И у меня есть контрдоказательства.
Задачи бывают разные- есть например программная реализация ЮСБи устройства на АВР. Так там не то что свободное время некуда девать, а даже на асме приходится хитрsе ходы выдумывать для синхронизации с протоколом.
И это на Си ну никак не реализуется.

[quote] Тактовая частота для микроконтроллера
Ассемблерные части V-USB написаны с поддержкой только таких частот:…
16 MHz: поддержка этой частоты была специально добавлена для пользователей Arduino и
других готовых плат которые имеет штатный кварц на 16 MHz. Также полезно если необходимо
повысить частоту в целях производительности. Поскольку 16 MHz не делится нацело на USB low
speed bit clock 1.5 MHz, то ассемблерная реализация для данной частоты написана с
некоторыми хитростями, применяются циклы для замедления.[/quote]

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

Не просто считаю, а знаю, что вызов любого метода или функции затопчет стэк как стадо
овец, что там и смотреть будет нечего.
А вот простой код на асм
IN XL,SPL
IN XH,SPH
позволит через Х индекс просмотреть стэк от его вершины до самого дна в его первозданной невинности.
Многие Си-писатели даже не подозревают, что освобождение стэка ничего в нем не затирает в нули, а всего лишь перемещает указатель на вершину.
А вот вызов любой функции переписывает ячейки стека.

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

А если не жалко и оно есть?

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

1 лайк

Я вот не подозреваю , да многие тут, мы ЗНАЕМ, нам что теперь удавится?

1 лайк

Или звиздабола удавить?

2 лайка

Просто всплакнуть, ибо “От многой мудрости много скорби”

код на C/C++

uint16_t current_SP = SP;

и просматривай данные стека хоть вдоль хоть поперёк …

Мне странно выступать на стороне C/C++, но примеры @dedivan все мимо …

3 лайка

как и он сам