roboforum.ru

Технический форум по робототехнике.


Проблема с АЦП Меги8

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Сообщение avr123.nm.ru » 13 янв 2007, 18:26

и это не позволило вам узнать порядок чтения регистров из задачи 11 курса ?

я уж много раз повотряю - не зависимо от языка на котором вы пишите программу, чтоб сделать что-то нужно записать нечто в одни и теже регистры МК !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Goofy » 13 янв 2007, 18:37

avr123.nm.ru писал(а):и это не позволило вам узнать порядок чтения регистров из задачи 11 курса ?

я уж много раз повотряю - не зависимо от языка на котором вы пишите программу, чтоб сделать что-то нужно записать нечто в одни и теже регистры МК !


Я про то что у меня нет тех примеров, на которые Вы ссылаетесь. На этом офф и нонКоструктив завершаем
Goofy
 
Сообщения: 45
Зарегистрирован: 30 сен 2005, 14:04
Откуда: Красноярск
прог. языки: C, C++
ФИО: Макаров Иван

Сообщение aesok » 13 янв 2007, 23:03

Goofy писал(а):Суть косяка была в том, что сначала должно читаться ADCL, а потом тока ADCH.

То есть теперь запись в массив выглядит так:
Код: Выделить всёРазвернуть
ADCData[i]=ADCL + (ADCH<<8);


Две строчки в датащите и столько гимора без ведения о них :) Хоть восклицания поставили бы...


Делайте проще:
Код: Выделить всёРазвернуть
ADCData[i]=ADC;


Анатолий.
aesok
 
Сообщения: 69
Зарегистрирован: 11 авг 2006, 01:02
Откуда: ----

Сообщение avr123.nm.ru » 14 янв 2007, 00:45

aesok писал(а):Делайте проще:
Код: Выделить всёРазвернуть
ADCData[i]=ADC;


Анатолий.


Класс !

В FAQ моего курса именно так и рекомендовано для WinAVR
avr123.nm.ru/avrfaq.rar
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Johnny Bravo » 22 фев 2007, 22:36

Чтобы не плодить подобных тем, отпишусь здесь.
Проблем пока нет, но...
Вобщем АЦП после старт импульса оцифровывает сигнальчик, который содержит в себе максимум. Требуется измерить время до этого максимума после начала оцифровки. Так вопрос в времени преобразования (пару каналов, оцифровываются последовательно оба, т.е. 1, 2, 1, 2...) это как одиночное преобразование, т.е 25 адс клок?
Johnny Bravo
 
Сообщения: 400
Зарегистрирован: 26 фев 2006, 15:21
Откуда: Омск

Сообщение avr123.nm.ru » 22 фев 2007, 23:21

В курсе в упражнении по АЦП написано что

в даташит рекомендуется делать паузу  не менее 125 мкС
после переключения канала АЦП.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Johnny Bravo » 22 фев 2007, 23:28

Нее, паузу подберем минимальную эксперементально, т.к. время бесценно - процесс длится единицы миллисекунд.
Johnny Bravo
 
Сообщения: 400
Зарегистрирован: 26 фев 2006, 15:21
Откуда: Омск

Сообщение avr123.nm.ru » 22 фев 2007, 23:52

тогда лучше по 1 каналу цифровать. а на второй можно тини13 добавить.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Johnny Bravo » 24 фев 2007, 01:33

Ух, в итоги сошлись на 3 каналах оперативного считывания. Время записи - 3мс. Вот интересно, смогу ли с меги одной выжать соки на массивчики с приемленмым количеством значений для обработки?!
Johnny Bravo
 
Сообщения: 400
Зарегистрирован: 26 фев 2006, 15:21
Откуда: Омск

Сообщение SS » 24 фев 2007, 16:05

Johnny Bravo писал(а):Нее, паузу подберем минимальную эксперементально, т.к. время бесценно - процесс длится единицы миллисекунд.


Если бесценно время, тогда можешь запустить, В свободный "полёт", т.е. как написано в даташите:
    Bit 5 – ADATE: ADC Auto Trigger Enable
    When this bit is written to one, Auto Triggering of the ADC is enabled. The ADC will start a conversion on a positive edge of the selected trigger signal. The trigger source is selected by setting the ADC Trigger Select bits, ADTS in SFIOR.
а в обработчеке прирываний просто считывай данные и переключай номер порта АЦП.
SS
 
Сообщения: 71
Зарегистрирован: 01 май 2006, 23:00
Откуда: Ukrain

Сообщение avr123.nm.ru » 24 фев 2007, 17:22

3 канала АЦП в свободный полет фиг запустишь.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Пред.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron