Свежие обсуждения
Микроконтроллеры

Как научиться писать программы для AVR

1 3 5

За счет оптимизации у Вас эта переменная на этом этапе выполнения функции может вообще еще не создана.

 

chav1961: вопрос - а adc_data = ADC; не пробовали?
да, в CodeVision будет adc_data= ADCW;
Просто я с этими сдвигами сперва слегка запутался, поэтому пошёл в лоб. Тем более VmLab этого виртуального регистра ADCW не поддерживает.
Dron_Gus: За счет оптимизации у Вас эта переменная на этом этапе выполнения функции может вообще еще не создана.
как не создана? Если не создана, то там будет мусор, а я ещё раз повторюсь, в симуляторе при запуске RUN и в железе после прошивки всё работает как надо, не может же это быть случайностью. Или он сократил мне эту переменную, я не спорю, в данном случае можно бы было обойтись без неё, но почему тогда не сообщить мне об этом? Эдак он наоптимизирует мне, что половины переменных не будет, а как я отлаживать программу буду?
Пока я на начальном этапе и программки простенькие- с этим можно мириться, но я же не хочу на этом останавливаться.

 

Обьявите ее volatile или static. Тогда он ее не сократит, теоретически. Опять же создавать ее он может непосредственно перед использованием (присвоение не всчет) и удалять сразу же после последнего использования.

gan: Эдак он наоптимизирует мне, что половины переменных не будет, а как я отлаживать программу буду?
Компилятор тоже так думает "счаз он мне их понасоздает, ничего не влезет". Отключите оптимизацию.

 

Вопрос не по теме МК, но так как я фильтрую ШИМ сигнал с Меги16, задам его здесь. Делаю ЦАП на ШИМе, расчитал программой FilterLab второго порядка (см.аттач), и на выходе out постоянка, пропорциональная скважности, но с пиками (как после диф.цепочки) амплитудой 1.5-2Вольта. Пики эти совпадают с фронтом-срезом ШИМ сигнала.
2 раза разбирал-собирал схему, ошибка монтажа исключается, но как на выходе могут появиться эти пики, если частота ШИМ там должна давиться на 80 дБ.
Подскажите, корифеи аналоговой техники.

 

Используйте пассивный фильтр второго порядка. Если необходимо, то на выход такого фильтра усилитель.
Активные фильтры на ШИМ сигнале не работают нормально (прорбовал).

 

2 gan - питание фильтра сколько?

 

+\-12В
RC цепочка перед фильтром проблему, конечно, решила, но непонятка осталась. Толи быстродействия ОУ не хватает на фронтах, юзал LM324 и LM358.

 

конденсатор С1 подключен к выходу ОУ(обратная связь) - частотные, фазовые параметры, скорость нарастания должны соответствовать входному сигналу, иначе на выходе будет присутствовать сигнал ошибки.

 

Как сделать одну и туже группу байтов в памяти , байтовым массивом и структурой? Для разнообразного общения . На Си.

 

Через union