ruhi
Members-
Постов
567 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Весь контент ruhi
-
Вы, извиняюсь, лепите что то абстрактное! Вы попробуйте рассмотреть какую то реальную ситуацию, например ЛЕД на ноге висит, или enable-чего-то, вы как будете этой ногой управлять: pinZx, portZx, ddrZx или ЛЕДх для pinZ, portZ, ddrZ enable-чего-то для pinZ, portZ, ddrZ ??? Чего у вас тут компилятор может исправить??? Откуда компилятор узнает какая функция у вас на конкретной ноге конкретного порта висит, и зачем эту функцию различать для pinZ, portZ, ddrZ регистров управления этим портом???
- 8 951 ответ
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
Сначала надо запустить adc+tim то есть без DMA, если даже это не получится то зачем так себя перегружать!
-
вот так надо делать:
- 8 951 ответ
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
там столько всего дофига уже, причем с многократным дублированием часто, что может быть (или не быть, или не соответствовать друг другу) что угодно, поэтому иногда проще-быстрее руками дописать то что нужно, а не ковыряться в подключенных хидерах, конфигурации-настройках проекта, не знай еще в чем. Но для начала, действительно, полезно поковыряться, чтобы знать что откуда берется.
- 8 951 ответ
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
А зачем их вообще именовать вы не задумывались? чем отличается PINC1 от PINд1 или от PINе1 ... Это же просто единица. Это как в армии трава должна быть зеленой, для пинов нужны дефайны!
- 8 951 ответ
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
Это вам был предыдущий комент, я промахнулся!
- 8 951 ответ
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
если пины определены как PINBх, зачем искать определение PBx ??? Херней занимаетесь и людям голову морочите!
- 8 951 ответ
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
дурь какая-то! У вас зачем, воЩе, в одной строчке два бита одного порта разными дефайнами обозначены??? PB0 потом PINB1 ???
- 8 951 ответ
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
и эти задачи как то не вяжутся друг с другом! Вы хотите что бы вам объяснили как работает программа??? А вы знаете как работает микроконтроллер??? Это надо объяснять? Это в комментариях не уберется!!! В дипломе вы собираетесь написать как работает программа??? Но тут есть большие сомнения что она вообще работает(!), потому как индикации в ней нет, насколько я смог заметить беглым взглядом! А судя по названию индикация является одной из основных функций устройства!
-
проверять надо все без исключения!!! Не надо надеяться что какой бы то ни было способ написания кода гарантирует вам отсутствие ошибок в этом коде!
-
я бы убедился тогда что из сна оно на ресет не уходит, а только прерывание выполняет. Потом, слип и ватчдог могут состояние ног как то поменять - там очень внимательно надо пдф-ки читать, и даже то что кажется понятным проверять практическими экспериментами. Поэтому их надо по отдельности отлаживать, а лучше вообще будить таймером, например.
-
а вотчдог то тут зачем??? совершенно непонятно!!! И кто у тебя процессор будит ото сна можно пояснить? Думаю развернутые ответы на эти два вопроса решат ваши проблемы.
-
так с каким периодом ШИМ -то? и с каким разрешением? лучше бы осциллограмму показал, кто светодиодов то не видел !
-
логированием, то есть куда то сохранять значения (желательно с какой то привязкой ко времени) и потом (после прогона) их анализировать, такая вот беда со встроенным программированием! RTOS-ы вообще никаких проблем встроенного программирования не решают, они создают впечатление что вы как будто можете работать так же как привыкли на десктопе, но это всегда обман! :(!
-
По общим вопросам: я не вижу свою реализацию лучше, я хотел сказать что: только по реализации, в общем случае, нельзя сказать, что пытался реализовать автор, поэтому я и не пытаюсь это угадать. по задаче: дык вы так и не описали как по вашему должна работать эта привязка, что DMA (должен?) стартует только(?) с 0 градусов (всегда?), а не с 180 градусов, или как? хотя вроде бы выяснили что стартует на самом деле АЦП, а ДМА запускается результатом АЦП, или все таки нет? (вообще пока лучше не вспоминать про ДМА - не важно как сохраняется результат АЦП, я думаю гордость от использования этой навороченной техники вас отвлекает от сути задачи ) А АЦП запускается фронтом сигнала, исходного сигнала, из которого(?) формируется(?) производный(?) сопряженный/квадратурный сигнал)??? Я думаю, если вы и это распишите, вы сами поймете в чем у вас проблема, с некоторой (потому что, это скорее всего не единственная проблема!) степенью вероятности.
-
а - понял ! неоднозначно как то звучит :)!
-
дык, осталось вроде как написать что НЕ Работает :)! и это кстати, интересно! Вы считаете, что все должны догадаться что у вас там было какое то требование, потому что я бы (скорее всего) написал этот код по другому, соответственно, и не стал предполагать что вы имели ввиду! И причина веская - некогда вам :)! Но это, конечно, обычное дело - большинство считает что программист должен быть экстрасенсом, должен уметь угадывать мысли по коду :)! Хотя, обычно, к себе это требование не применяют, как раз те кто требует этого от других.
-
бадяга получается потому что вы очень НЕ-Внимательно (мягко говоря) относитесь к формулировкам, здесь например: нельзя синхронизировать АЦП относительно сигнала тем более квадратурного, вы видимо хотите привязать запуск АЦП к фронту меандра, который вы собираетесь использовать в качестве сигнала, ТОГДА вы же понимаете, что результат АЦП будет получен с некоторой задержкой относительно этого фронта, так как АЦП-требует времени, ДАЛЕЕ: Запись в буфер ДМА должна быть (очевидно) синхронизирована с получением результата АЦП (иначе что вы собрались записывать?) ДАЛЕЕ: АЦП надо повторять с некоторым периодом, с каким? А ГЛАВНОЕ: должен период АЦП быть связан с периодом меандра (другими словами есть требование целого количества отсчетов на период меандра)??? По какой формуле связь? ...
-
Почему же периодических то??? Четверть периода ЧЕГО??? Ужас!!! Я смотрю вы готовитесь изучать преобразование Гильберта это похвально, но начать лучше с преобразований Фурье и Лапласа. Потом генерация предполагает ЦАП, а у вас почему то только АЦП, вот здесь для меня (по крайней мере) что то не сходится, тоже. А-да, конечно, вот оно новое слово в радиотехнике! Только тот кто рассуждает о фильтрации всегда может сказать что и из чего он фильтрует, для этого опять же надо изучать преобразования Фурье и Лапласа.
-
Тут вообще ничего НЕ понятно! И похоже вы сами не понимаете что вы хотите! В чем заключается эксперимент??? Что вы хотите увидеть, какой сигнал вы хотите оцифровать, какие у него диапазоны параметров? При чем тут синхронизация с таймерами?... Это просто какое-то абстрактное нагромождение букв, стрелок и квадратиков, пока ! Соответственно задача НЕ сформулирована, и, соответственно, не может быть решена - решать пока еще нечего!
-
Ну вы блин даЁте ! НЕТ! это то же у вас С-язык?
-
это ж охириниеть как сложно 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; } }
-
так отправьте 2-байта в первом номер регистра А или В, а во втором значение регистра.