[an error occurred while processing this directive]
Знаю, что где-то косяки, но не могу сам их найти, прошу помощи...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено glamur 07 октября 2005 г. 15:20

АЦП меги128, хочу получить результат с двух каналов 0 и 1.
Результат получается для один и тот же для любого канала.
Где? Ну где я накосячил? Понимаю, что пятница, но я ведь все выходные буду с ума сходить...

unsigned int adc_convert_10bit (unsigned char ch)
{
unsigned char adc_datal, adc_datah;
/* обозначаем канал */
if(ch==0) ADMUX = 0x00;
if(ch==1) ADMUX = 0x01;

ADCSRA |= BIT(ADIF); /* очистка флага окончания */
ADCSRA |= BIT(ADSC); /* начало преобразования */

while(!(ADCSRA | BIT(ADIF))); /* ожидание флага окончания */

ADCSRA |= BIT(ADIF); /* очистка флага окончания */

adc_datal = ADCL; /* сохранение данных */
adc_datah = ADCH;

return ((adc_datal)|((adc_datah)<<8)); /* Возвращаем значение (10 бит) */
}

Заранее благодарю!

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru