АЦП. Разбор полётов

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
siamds
Встал на лапы
Сообщения: 99
Зарегистрирован: Вт мар 20, 2012 20:50:22
Откуда: Краснодар

Re: АЦП. Разбор полётов

Сообщение siamds »

pokk ! Высылаю Вам программу с получением отрицательного результата разности ADC0 – ADC1. Программа промоделирована в Proteus’e. Для наглядности взят 4-х строчный LCD дисплей. Вы можете использовать 2-х строчный.
P.S. Для любителей поспорить: посмотрите, сколько дискрет на дисплее при 5-ти вольтах.
И прошу Вас коллеги, не пишите что Protes это всего-навсего симулятор. Не заставляйте меня проверять результат на макетке – результат будет тот же.
Вложения
ADC_Mega8.rar
Программа отрицательных чисел
(67.95 КБ) 202 скачивания
На каждого Моцарта есть свой Сальери.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25122
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: АЦП. Разбор полётов

Сообщение КРАМ »

siamds писал(а):И прошу Вас коллеги, не пишите что Protes это всего-навсего симулятор. Не заставляйте меня проверять результат на макетке – результат будет тот же.

Нет, мы не будем писать про протеус-симулятор. Мы будем писать,что это ниспосланное свыше озарение, кое нам принес божественный гений Лабс Электроник и его тайный посланник на Казусе - ТЕНЬ http://kazus.ru/forums/member.php?u=30285 ...
Трепещите неверные!!!!
:wink:
АКУЕТЬ!
:))) :))) :))) :)))
pokk
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Re: АЦП. Разбор полётов

Сообщение pokk »

siamds,Благодарю за проект. Но вы тут просто делаете считывание одного канала потом другого и вычитание ,а я же хотел использовать дифференциальный вход при котором сразу в ADCW считается отрицательное значение в коде двоичного дополнения.

Код: Выделить всё

ad_0=adc_data[0]; //Запись в ad_0 данных ADC0
ad_1=adc_data[1]; //Запись в ad_1 данных ADC1
sum_ad=ad_0-ad_1; //Запись в sum_ad разности ADC0-ADC1


Кстати CodeVisionAVR ругается на

Код: Выделить всё

register static unsigned char input_index=0;

"can't specify more than one storage class"
Си только начал изучать.Но я так понял что ему не понятно такой тип данных, но как сделать так что бы он понял не знаю.
Аватара пользователя
siamds
Встал на лапы
Сообщения: 99
Зарегистрирован: Вт мар 20, 2012 20:50:22
Откуда: Краснодар

Re: АЦП. Разбор полётов

Сообщение siamds »

pokk ! Так как Вы хотите у Вас, вероятно, не получиться и вот почему. В грубой форме это выглядит так: предположим, у нас подключен ADC0. Сигнал с этого PIN’a поступает на УВХ (Устройство Выборки-Хранения) и далее в ADCW. По окончанию цикла преобразования селектор подключает ADC1, и новые данные вновь поступают в ADCW, и так циклически подключая тот или иной канал ADC данные записываются и читаются ADCW последовательно, но не параллельно. Я не претендую на истину в последней инстанции, но, то, что я изучал, выглядит именно так.
У меня был компилятор, который тоже ругался на эту строку:
register static unsigned char input_index=0;
я вышел из положения следующим образом:
unsigned char input_index=0; записываем в область глобальных переменных
// register static unsigned char input_index=0; просто закомментируем эту строку
На каждого Моцарта есть свой Сальери.
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Re: АЦП. Разбор полётов

Сообщение avreal »

Любой компилятор C должен ругаться на применение в одной строке двух разных storage class (в данном случае static и register)
register static это такая же мура как и unsigned signed или long short
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
pokk
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Re: АЦП. Разбор полётов

Сообщение pokk »

Я взял всё из даташита извините сразу не написал что использую atmeg128.
Изображение
Аватара пользователя
siamds
Встал на лапы
Сообщения: 99
Зарегистрирован: Вт мар 20, 2012 20:50:22
Откуда: Краснодар

Re: АЦП. Разбор полётов

Сообщение siamds »

Уважаемый pokk! К сожалению, я не знаком с atmega128, а изучать этот МК, у меня просто нет времени. Так что извините, что не смог помочь Вам.
На каждого Моцарта есть свой Сальери.
pokk
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Re: АЦП. Разбор полётов

Сообщение pokk »

siamds, нечего страшного оказалось мне не надо отрицательный значения т.к сигнал поднят на какую-то постоянную составляющую =)
Ответить

Вернуться в «AVR»