Jump to content

MasterElectric

Members
  • Content Count

    353
  • Joined

  • Last visited

Community Reputation

49 Обычный

About MasterElectric

  • Rank
    Постоялец

Электроника

  • Стаж в электронике
    6-10 лет

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. @Mono-S Ну зачем во всех бедах обвинять IDE. И Атолликом пользуются очень многие...
  2. А подключить отладчик и посмотреть? МК вообще не умеет виснуть.
  3. т.е. ты хочешь между выборками (непрекращающимися) основного канала, делать раз в секунду по 2 каналам? А если это будет не раз в секунду, а допустим раз на сто периодов меандра так можно? Это чтобы не вносить асинхронных процессов.
  4. при чем тут ядро? нет в F1xx, а конкретно нет Output Open-Drain Pull-Up. Зачем проверять можно за минуту узнать в доках.
  5. Это кто NarodStream такому научил?
  6. Вопрос откуда взялся режим Output Open-Drain Pull-Up? Подтяжка внешняя?
  7. @ecr3ate Не вполне корректное замечание, посмотрите еще раз.
  8. Да проще всего использовать два таймера ведущий считает быстро это выборки АЦП пусть оно будет по апдейту. Подчиненный считает тики этого таймера, делает нужное количество выборок на период (0 - ARR - 1), посредине ШИМ для меандра. Работать с буфером можно по событиям подчиненного таймера, если успеешь обработать за период данные с АЦП, то можно ДМА настроить на кольцевой емкостью 2 периода, на половине по прерыванию ДМА обраюатывать. Можно еще настроить и третий таймер, который будет считать тики второго таймера, т.е ты будешь знать какую выборку по счету обрабатываешь. Примерно так. Ну или сложнее на одном таймере при помощи DMA Burst можно генерировать сложный сигнал, но это возможно и не подойдет.
  9. @artos5 Вопрос меандр нужно генерировать физически на ноге МК?
  10. Толку общаться нет т.к. в ЦОС я ничего не смыслю, но про выборки я где-то читал ну это и так логически понятно, пропускать чтение нельзя.
  11. Лучше уменьшить время преобразования, и есть табличка зависимости скорости преобразования и входного сопротивления АЦП, оно меняется. Там бы хоть 1 раз получилось. Зачем несколько раз измерять подряд, потом еще усреднять вручную надо.
  12. Для ЦОС нужно выборку делать строго периодически, даже если брать 8 выборок на период то можно вычитывать все 3 канала. т.е. за раз вычитывать 3 канала и все.
  13. @artos5 разгони немного АЦП до 14 и по идее сможешь все 3 вычитывать до 22000 * 16 семплов.Судя что при 12 он способен дать 1 Мсемпл @artos5 Настрой таймер на 16 кратный счет это будет период, 1 канал формирует меандр на половине периода, 2 канал пинает ДМА для АЦП, ДМА настрой на выборку нужного количества каналов * на 2, кольцевой режим, на 1/2 можно обрабатывать первую половину данных. Ну и третий канал будет сдвигать значение компарэ для второго канала.
  14. Бери камнь под задачу, а не говно мамонта 12 летней давности, ну хотя бы F3
  15. Делай приоритеты периферии меньше чем у систика. Очень плохая практика в прерывании делать прием да еще и блокирующий, зачем править говнокод. Я могу ошибаться чтобы прервать прерывание приоритет должен быть выше, с таким же откладывается, вот и не считает. P.S. И мне интересно каким макаром ты одновременно с таким подходом будешь принимать данные по двум UART. И для подтверждения при зависании останови и посмотри состояние регистров систика (разрешено ли прерывание) и NVIC по отложенным прерываниям (есть ли отложенные)
×
×
  • Create New...