Страница 1 из 1

ATMEGA 2561 - чтение регистровой пары АЦП

Добавлено: Пн фев 07, 2011 12:46:46
Slavast
Всем Доброго!
Atmega 2561. 1024 разрядный АЦП.
Мах значение на АЦП 0x03FF:
ADCH 0000.0011
ADCL 1111.1111
Хочу прочитать в одну переменную значение регистров АЦП ADCH и ADCL! Как в Си в старший разряд 2-байтовой переменной загнать значение ADCH, а в младший разряд - значение ADCL? Может есть какая-то команда, которую я никак не найду?
Ведь просто сложить ADCH и ADCL в одну переменную нельзя, т.к. мы нарушим паритет разрядности! (03+FF не будет равно 03FF)
Благодарю!

Re: ATMEGA 2561 - чтение регистровой пары АЦП

Добавлено: Пн фев 07, 2011 12:56:05
Vov123
unsigned int res = ACDW;

Re: ATMEGA 2561 - чтение регистровой пары АЦП

Добавлено: Пн фев 07, 2011 12:59:58
Slavast
Vov123 писал(а):unsigned int res = ACDW;
ACDW - это совмещенный регистр двух ADCH и ADCL? Но про него в даташите на Мегу ничего нет(?..

Re: ATMEGA 2561 - чтение регистровой пары АЦП

Добавлено: Пн фев 07, 2011 13:02:25
Vov123
CVAVR,в других IDE не знаю,там не пробовал.

Re: ATMEGA 2561 - чтение регистровой пары АЦП

Добавлено: Пн фев 07, 2011 13:03:26
ARV
есть, нет - вам какая разница? главное, что в Си так надо читать АЦП. кстати, если у вас WinAVR, то вместо ADCW надо использовать просто ADC.

Re: ATMEGA 2561 - чтение регистровой пары АЦП

Добавлено: Пт фев 11, 2011 11:07:08
Slavast
Всем спасибо! Получилось взятием a=ADC!
(ADCW в AVRstudio не работает(()

Re: ATMEGA 2561 - чтение регистровой пары АЦП

Добавлено: Пт фев 11, 2011 11:45:38
ARV
Slavast писал(а):ADCW в AVRstudio не работает((
потому что AVR Studio использует WinAVR

Re: ATMEGA 2561 - чтение регистровой пары АЦП

Добавлено: Пт фев 11, 2011 14:30:32
Slavast
ARV, спасибо! Respect!