pokk ! Высылаю Вам программу с получением отрицательного результата разности ADC0– ADC1. Программа промоделирована в Proteus’e. Для наглядности взят 4-х строчный LCD дисплей. Вы можете использовать 2-х строчный.
P.S. Для любителей поспорить: посмотрите, сколько дискрет на дисплее при 5-ти вольтах.
И прошу Вас коллеги, не пишите что Protes это всего-навсего симулятор. Не заставляйте меня проверять результат на макетке – результат будет тот же.
siamds писал(а):
И прошу Вас коллеги, не пишите что Protes это всего-навсего симулятор. Не заставляйте меня проверять результат на макетке – результат будет тот же.
Нет, мы не будем писать про протеус-симулятор. Мы будем писать,что это ниспосланное свыше озарение, кое нам принес божественный гений Лабс Электроник и его тайный посланник на Казусе - ТЕНЬ http://kazus.ru/forums/member.php?u=30285 ...
Трепещите неверные!!!!
АКУЕТЬ!
siamds,Благодарю за проект. Но вы тут просто делаете считывание одного канала потом другого и вычитание ,а я же хотел использовать дифференциальный вход при котором сразу в ADCW считается отрицательное значение в коде двоичного дополнения.
"can't specify more than one storage class"
Си только начал изучать.Но я так понял что ему не понятно такой тип данных, но как сделать так что бы он понял не знаю.
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; просто закомментируем эту строку
Любой компилятор C должен ругаться на применение в одной строке двух разных storage class (в данном случае static и register) register static это такая же мура как и unsigned signed или long short
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.