Перейти к содержанию
    

ASDFG

Участник
  • Постов

    13
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Посетители профиля

334 просмотра профиля
  1. кортексы это не авр, здесь программная задержка основанная на цикле это плюс минус лапоть в результате, который помимо прочего может еще зависеть от месторасположения этой самой задержки, чтобы удостовериться в этом, достаточно воспользоваться DWT счетчиком п.с. это касается любого куска кода, если перемещать его, можно заметить отличия во времени выполнения
  2. спасибо, переделал схему, убрал конденсатор на входе 5 вольтового стабилизатора. но тут наверное получается что если вытащить аккумулятор из работающего устройства, то на выходе BA50DD0W напряжение есть, заряжен конденсатор, а на входе нет. вроде бы как это может вывести стабилизатор из строя. нарисовал диод, но поможет ли он если аккумулятора нет? но и через него наверное тоже обратный ток течет, во время работы блока питания?
  3. добрый день! подскажите, какие номиналы конденсаторов необходимо выбрать для С1-С4? работает все от 2х литий-ионных аккумуляторов, в качестве нагрузки R1-R2 микросхемы КМОП, в основном второй вопрос, нужны ли оба конденсатора С2, С3, если один из них можно убрать то какой из них? спасибо
  4. чтобы это случилось необходимо менять целевую платформу, переходить от мк к компьютеру, но у меня нет задач для ПК которые мотивировали бы меня изучать ЯВУ, а те задачи что крутятся на МК, и которые интересны мне, я могу решить и с помощью ассемблера
  5. для моих задач и ассемблера мне хватит. на С и прочие ЯВУ времени нет, как и желания ну и ко всему прочему мне никто не мешает лепить свои лисапеды, в чем я вижу плюс. а знай я Си, только бы и копипастил из интернета, как это делает большинство, что же это за творчество
  6. и что же это дает в конкретном случае?
  7. я знаю что кейл ее подставляет и специально ее опускаю в большинстве случаев, чтобы не нагромождать код ну как-то пишу, мне же не на выставку с ним
  8. полистал книгу "Практический курс микропроцессорной техники на базе процессорных ядер ARM-Cortex-M3/M4/M4F" , в книге все примеры на ассемблере. полно таких примеров SUBS R6, #1 тоже самое и относительно команды ADD в ней встречал
  9. если Вы намекаете что такая запись неправильна, ну, возможно, в любом случае Keil меня понимает да, условное, почему не кортекс? за пример спасибо, действительно так короче я любитель, если что-то и делаю то для себя, отсюда не имею ни перед кем обязательств
  10. нет, если честно, заострил внимание на том почему не соответствует мой результат, результату калькулятора, думал что делаю что то не так, искал ошибку, даже на листке считал CRC
  11. в общем разобрался, код правильный проблему доставил сайт, калькулятор, ссылку которого приводил выше, и по которому я сверялся оказывается чтобы получить нужный результат на сайте необходимо было инвертировать порядок байт. и нигде об этом не сказано то есть вместо например 01DED7CE28h на сайте, в поле надо было ввести 28CED7DE01h и тогда результат совпадал с моим, кто бы подумал. из-за этой ошибки калькулятора, 2 дня коту под хвост
  12. CRC-8 Maxim

    Добрый день! уважаемые специалисты, помогите понять алгоритм CRC-8 Maxim, уже 3 дня разбирался с ним, и не могу понять где совершаю ошибку. полином для вычисления 31h, операция вычисления начинается насколько я понял с младшего бита, младшего байта, при этом, сам полином похоже отзеркален относительно своей середины, то есть имеет значение 8Ch написал код для подсчета, код работает правильно если данные занимают только 1 байт, если более, то результат по видимому ошибочный. сравнивал значения с онлайн калькулятором https://crccalc.com/ в чем причина? помогите polinom_31 EQU 0x8C ;полином 31h отзеркаленый MOV R1, #32 ;счетчик битов CYCL_75 LSRS R2, #1 ;сдвигаем вправо на 1 бит "сообщение" EORCS R2, #polinom_31 ;если вывалилась за край 1, значит применяем XOR SUB R1, #1 ;повторяем пока не пропустим все биты CMP R1, #0 BNE CYCL_75 код на ассемблере ARM cortex m код простой, в регистре R2 передается значение для расчета CRC значение сдвигается вправо на 1 бит, если за край выпала 1 применяется XOR, и так повторяется пока не сдвинем все биты естественно что если передаем в R2 1байт, то в счетчик R1 записываем число 8, если 2 байта- 16, и так далее. алгоритм работает только если передать 1 байт, со 2го уже не работает, где я ошибку делаю? п.с. если немного переделать код под "обычный" CRC8 с полиномом 07h, и сдвигом влево, а не вправо, то все работает, на любом количестве передаваемых байт
×
×
  • Создать...