ruhi

Members
  • Публикации

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

  • Посещение

Репутация

36 Обычный

О ruhi

  • Звание
    Постоялец

Информация

  • Пол
    Мужчина
  • Город
    Дзержинск

Электроника

  • Стаж в электронике
    10-20 лет
  • Сфера радиоэлектроники
    радиотехника, программирование
  • Оборудование
    радиотехника, цифровая обработка сигналов, управление, любые процессоры и их обвязка

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

888 просмотров профиля
  1. Atmega64a максимальная частота программного шим

    так с каким периодом ШИМ -то? и с каким разрешением? лучше бы осциллограмму показал, кто светодиодов то не видел !
  2. Совместная работа периферии в STM32

    логированием, то есть куда то сохранять значения (желательно с какой то привязкой ко времени) и потом (после прогона) их анализировать, такая вот беда со встроенным программированием! RTOS-ы вообще никаких проблем встроенного программирования не решают, они создают впечатление что вы как будто можете работать так же как привыкли на десктопе, но это всегда обман! :(!
  3. Совместная работа периферии в STM32

    только избавиться от FreeRTOS, эклипс тут не при чем.
  4. Программная переинициализация таймера

    По общим вопросам: я не вижу свою реализацию лучше, я хотел сказать что: только по реализации, в общем случае, нельзя сказать, что пытался реализовать автор, поэтому я и не пытаюсь это угадать. по задаче: дык вы так и не описали как по вашему должна работать эта привязка, что DMA (должен?) стартует только(?) с 0 градусов (всегда?), а не с 180 градусов, или как? хотя вроде бы выяснили что стартует на самом деле АЦП, а ДМА запускается результатом АЦП, или все таки нет? (вообще пока лучше не вспоминать про ДМА - не важно как сохраняется результат АЦП, я думаю гордость от использования этой навороченной техники вас отвлекает от сути задачи ) А АЦП запускается фронтом сигнала, исходного сигнала, из которого(?) формируется(?) производный(?) сопряженный/квадратурный сигнал)??? Я думаю, если вы и это распишите, вы сами поймете в чем у вас проблема, с некоторой (потому что, это скорее всего не единственная проблема!) степенью вероятности.
  5. Программная переинициализация таймера

    а - понял ! неоднозначно как то звучит :)!
  6. Программная переинициализация таймера

    дык, осталось вроде как написать что НЕ Работает :)! и это кстати, интересно! Вы считаете, что все должны догадаться что у вас там было какое то требование, потому что я бы (скорее всего) написал этот код по другому, соответственно, и не стал предполагать что вы имели ввиду! И причина веская - некогда вам :)! Но это, конечно, обычное дело - большинство считает что программист должен быть экстрасенсом, должен уметь угадывать мысли по коду :)! Хотя, обычно, к себе это требование не применяют, как раз те кто требует этого от других.
  7. Программная переинициализация таймера

    бадяга получается потому что вы очень НЕ-Внимательно (мягко говоря) относитесь к формулировкам, здесь например: нельзя синхронизировать АЦП относительно сигнала тем более квадратурного, вы видимо хотите привязать запуск АЦП к фронту меандра, который вы собираетесь использовать в качестве сигнала, ТОГДА вы же понимаете, что результат АЦП будет получен с некоторой задержкой относительно этого фронта, так как АЦП-требует времени, ДАЛЕЕ: Запись в буфер ДМА должна быть (очевидно) синхронизирована с получением результата АЦП (иначе что вы собрались записывать?) ДАЛЕЕ: АЦП надо повторять с некоторым периодом, с каким? А ГЛАВНОЕ: должен период АЦП быть связан с периодом меандра (другими словами есть требование целого количества отсчетов на период меандра)??? По какой формуле связь? ...
  8. Программная переинициализация таймера

    Почему же периодических то??? Четверть периода ЧЕГО??? Ужас!!! Я смотрю вы готовитесь изучать преобразование Гильберта это похвально, но начать лучше с преобразований Фурье и Лапласа. Потом генерация предполагает ЦАП, а у вас почему то только АЦП, вот здесь для меня (по крайней мере) что то не сходится, тоже. А-да, конечно, вот оно новое слово в радиотехнике! Только тот кто рассуждает о фильтрации всегда может сказать что и из чего он фильтрует, для этого опять же надо изучать преобразования Фурье и Лапласа.
  9. Программная переинициализация таймера

    Тут вообще ничего НЕ понятно! И похоже вы сами не понимаете что вы хотите! В чем заключается эксперимент??? Что вы хотите увидеть, какой сигнал вы хотите оцифровать, какие у него диапазоны параметров? При чем тут синхронизация с таймерами?... Это просто какое-то абстрактное нагромождение букв, стрелок и квадратиков, пока ! Соответственно задача НЕ сформулирована, и, соответственно, не может быть решена - решать пока еще нечего!
  10. AtMega8 + Bluetooth HC-05 + MIT App Inventor 2

    Ну вы блин даЁте ! НЕТ! это то же у вас С-язык?
  11. AtMega8 + Bluetooth HC-05 + MIT App Inventor 2

    это ж охириниеть как сложно static uchar stage = 0; static uchar regNum = 0; ISR(USART_RXC_vect) { if(stage == 0) { stage = 1; regNum =UDR; } else if(stage == 1) { stage = 0; if(regNum == 0) OCR1A=UDR; else if(regNum == 1) OCR1B=UDR; } }
  12. AtMega8 + Bluetooth HC-05 + MIT App Inventor 2

    так отправьте 2-байта в первом номер регистра А или В, а во втором значение регистра.
  13. Программная переинициализация таймера

    Это беЗполезно спрашивать! надо самому писать инициализацию регистров и смотреть что получается в симуляторе! найди симулятор в котором видно как значения счетчиков таймера меняется по тикам процессора (от времени в тиках) в зависимости от значения в регистрах! Бесполезно читать всякие ХАЛы, если ты не понимаешь принцип работы таймера! - они предполагают знание этого принципа (знание цифровой схемотехники: тригеры, И, ИЛИ, НЕ,...)
  14. вот поэтому у вас город то и бедный, все деньги на провода уходят, зарабатывают те кто в Москве проводами барыжит.
  15. STM32 для чайника

    скорее всего там с типами или с областью видимости что то напутано (с компилятором конечно бывают проблемы, но Очень редко, вы же не первый и даже не сотый его используете, и конструкция достаточно распространенная) Потом на первой картинке где красная стрелка показывает нулевое значение поля - указатель исполнения стоит на инструкции присвоения значения указателя полю в инит-структуре???, FMC_NORSRAMInitStructure.FMC_WriteTimingStruct = &FMC_ReadWriteTimingStruct; так оно еще не присвоилось, оптимизация включена, может оптимизация переставила присваивание???, и поэтому равно нулю - непонятно тут как то! Какой тип у FMC_NORSRAMInitStructure.FMC_WriteTimingStruct ??? Потом структура FMC_ReadWriteTimingStruct на стеке создана? может она из области видимости уже вышла? Где она объявлена?