Короче, разобрался с ДМА, кажись нашел не то багу, не то фичу. У ДМА где то зарыта аппаратная защита(!!!) от неправильных настроек. Есть там регистр CCR вот первый бит его это EN. B вы хрен его поставите если не настроите остальные параметры. Причем если вы запишите остальные биты ВМЕСТЕ с настройками, единым числом. То на одном канале это может прокатить, а на другом нет. Или прокатит, но как то частично и свалится в другом случае. Когда ДМА вдруг поймет, что ее наебали, загрузили все биты сразу и сбросит бит ЕН и даже вручную его взвести будет нельзя пока заново не перенастроишь ВСЕ остальные биты. Вот шиза то... Причем на одном канале это работает, на другом нет, на третьем частично как то

Комментарии: 24

  1. Krevedko

    Это F1? Там, так-то, много багов, всё-таки первый ARM Cortes от них

    • Anonim

      да он

  2. Boris

    а теперь читаем внимательно манул - там чёрным по белому написано что доступ к регистрам дма только словами

    • Anonim

      и как это связано? Я словами из записываю.

      • Boris

        когда меняешь по одному биту он оптимизирует до байтов там можно посмотреть

        • Krevedko

          О, надо глянуть, учтено ли это в stdpetiph

          • Anonim

            а там автоматом это получается. Т.к. в спл ты вначале настраиваешь, а потом запускаешь, отдельной фукнцией.

            • Boris

              а, да попутал

            • Krevedko

              Так вот она могла писать байтами и крутить биты отдельно, если бы такое ограничение было.

  3. Boris

    Короче нашёл в доке что EN надо ставить последним и точка

    • Krevedko

      Кстати, заметил, что никто почему-то не хочет пользоваться другими сериями STM32. Даже няшку STM32F030F4P6 почти не используют.

      • Boris

        ну губители да я же от F1 ушёл по причине неоднородности переферии

      • Roman

        мне это тоже не нравилось. А чем хорошо STM32F030F4P6?

        • Boris

          tsop

        • Krevedko

          Корпус прикольный :) И дешевый

          • Roman

            Мне больше MKL03 от фрискейла нравится (из маленьких)

            • Krevedko

              F0 серия вышла после F3, там с годами многое допилили

    • Anonim

      а где ты это нашел? я кстати поставил последним... Чет не помогло. Вроде показалось ,что заработало. Но нет. Работает только если под отладчиком трассируешь. А потом бит этот один хер сбрасывается сам почему то Какой то странный квантовый эффект образовался если функцию инициализации пройдешь под отладчиком, то дальше все работает само а если после сброса, то хуй.

      • Krevedko

        А если на другом камне попробовать? Вдруг брак? Я ж читал статью на сайте, с AVR такое было

        • Anonim

          На разных пробовал не пробовал только на совсем другом камне, на вгт6 попробовать еще можно, но платы под него нет, а травить не охота.

      • Boris

        Это RM0008

        • Anonim

          Ты был прав. Дело в выравнивании по словам. Только в рм говорится что можно хоть как. Причём под отладчиком оно ведёт себя по другому. От того и квантовые эффекты.

Не нашли ответ?

Вам также может быть интересно