Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы

АЦП на Атмега8 и УАРТ - помогите

Непрочитано 27.03.2013, 20:21  
AsSoul
Частый гость
 
Регистрация: 27.03.2013
Сообщений: 45
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
AsSoul на пути к лучшему
По умолчанию Re: АЦП на Атмега8 и УАРТ - помогите

Сообщение от akegor Посмотреть сообщение
AsSoul, "У меня почему-то в терминальнике выдает значения (при изменении сопротивления резистора от мин до макс) - от 120 до 140, а должен бы от 0 до 255. Как же тогда это исправить, если не два байта отправлять?!(" - Поконкретней можно исходное задание? Отправлять нужно 0...255 или 0...1023, в бинарном или ASCII, в десятичном или hex виде? Честно говоря, не хочется вникать в "120...140". Так, как я написал - будет выводить в терминал один байт (бинарный).
Исходное задание такое:

Есть МК атмега8 (16 МГц), к РС2 подключен потенциометр (переменный резистор на 10 кОм), необходимо инициировать внутр АЦП микроконтроллера провести преобразование и отправить результат в ком порт(для этого используем УАРТ скорость 9600 бод). Результаты должны пересылаться постоянно с некоторой задержкой (10-100 мс). В идеале нужно, чтобы все это происходило по прерыванию.

отправлять можно в десятичном формате, можно в бинарном - это не принципиально. но лучше в бинарном.))) (120...140 - это от 01111000 до 10001100)

Как-то так)
Реклама:

Последний раз редактировалось AsSoul; 27.03.2013 в 20:23.
AsSoul вне форума  
Непрочитано 27.03.2013, 20:56  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: АЦП на Атмега8 и УАРТ - помогите

AsSoul, простейший вариант я уже привел - отправляет один байт десятибитного результата измерения, деленного на 4 (сдвиг на два бита). Для передачи 2-х баитов нужно объявить переменную int, которой присвоить значение функции чтения АЦП. Функции передачи сначала отдать сдвинутое на 8 бит вправо значение, затем само значение (putchar(char) берет младший байт от int).
" В идеале нужно, чтобы все это происходило по прерыванию." - По какому - внешнему или от таймера?
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 27.03.2013, 21:07  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: АЦП на Атмега8 и УАРТ - помогите

AsSoul, еще раз перечитал задание, скорее всего (раз задана периодичность передачи) прерывания от таймера. Нужно выбрать таймер (для начала проще 8-ми битный), выбрать источник тактирования (точнее, предделитель). В визарде разрешить соответствующее прерывание (можно по переполнению, можно по сравнению - зависит от конкретных значений периодичности, предделителя, необходимой точности интервала) -будет сгенерирована "рыба" обработчика прерывания. Необходимые действия перенести из main() в обработчик прерывания.
Если есть вопросы - жду.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 27.03.2013, 21:13  
Арктур
Почётный гражданин KAZUS.RUN
 
Аватар для Арктур
 
Регистрация: 29.10.2012
Сообщений: 2,930
Сказал спасибо: 7
Сказали Спасибо 3,471 раз(а) в 1,771 сообщении(ях)
Арктур на пути к лучшему
По умолчанию Re: АЦП на Атмега8 и УАРТ - помогите

До частоты процессора в настройках симулятора ещё не добрались?

Нажмите на изображение для увеличения
Название: 5.PNG
Просмотров: 148
Размер:	19.4 Кб
ID:	45219

Последний раз редактировалось Арктур; 27.03.2013 в 21:46.
Арктур вне форума  
Непрочитано 27.03.2013, 21:41  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: АЦП на Атмега8 и УАРТ - помогите

AsSoul, Первая задача - поставить чёткое ТЗ.
Для этого надо ответить (в первую очередь себе), желательно на бумаге, на несколько вопросов:
- Желаемая разрядность АЦП;
- Периодичность передачи;
- нужен ли контроль целостности данных;
- Нужен ли ответ хоста;

Причём не диапазонами, а точным значением.

После этого составляется алгоритм работы устройства с учётом особенностей применённого МК.
Допустим в Меге8 есть Free Running Mode работы АЦП, то есть запустили и забыли. На выходе всегда актуальные данные независимо от периода передачи. Годится для восьмибитных измерений.

Давайте начнём с ТЗ, а дальше проще будет.
omercury вне форума  
Непрочитано 27.03.2013, 21:50  
AsSoul
Частый гость
 
Регистрация: 27.03.2013
Сообщений: 45
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
AsSoul на пути к лучшему
По умолчанию Re: АЦП на Атмега8 и УАРТ - помогите

Сообщение от omercury Посмотреть сообщение
AsSoul, Первая задача - поставить чёткое ТЗ.
Для этого надо ответить (в первую очередь себе), желательно на бумаге, на несколько вопросов:
- Желаемая разрядность АЦП;
- Периодичность передачи;
- нужен ли контроль целостности данных;
- Нужен ли ответ хоста;

Причём не диапазонами, а точным значением.

После этого составляется алгоритм работы устройства с учётом особенностей применённого МК.
Допустим в Меге8 есть Free Running Mode работы АЦП, то есть запустили и забыли. На выходе всегда актуальные данные независимо от периода передачи. Годится для восьмибитных измерений.

Давайте начнём с ТЗ, а дальше проще будет.
Спасибо за помощь!)

ТЗ:

-8-ми разрядный АЦП
-периодичность передачи преподаватель не сказал (сказал только что данные нужны постоянно) - поэтому, я думаю, Free Running Mode должен подойти
-да, контроль целостности нужен
-извините за дремучесть: а что значит ответ хоста?)
AsSoul вне форума  
Непрочитано 27.03.2013, 21:52  
AsSoul
Частый гость
 
Регистрация: 27.03.2013
Сообщений: 45
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
AsSoul на пути к лучшему
По умолчанию Re: АЦП на Атмега8 и УАРТ - помогите

Сообщение от Арктур Посмотреть сообщение
До частоты процессора в настройках симулятора ещё не добрались?

Вложение 45219
Опаа.. Нет. Не добралась. А на что это повлияет? Т.е. там надо выставить 16?
AsSoul вне форума  
Непрочитано 27.03.2013, 21:56  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: АЦП на Атмега8 и УАРТ - помогите

Кто-то должен быть главным в этой системе - вот он-то и есть хост.
Или просто передаём что есть в "белый свет"?

Сообщение от AsSoul Посмотреть сообщение
-да, контроль целостности нужен
Значит придётся придумать алгоритм контроля, скажем исключающее или с константой и передача последовательно того, что намерили и контрольного байта. На стороне приёмника нужно проделать ту же операцию и сравнить с контрольным байтом.
Справитесь?

Сообщение от AsSoul Посмотреть сообщение
Т.е. там надо выставить 16?
Угу. Это повлияет на настройки скорости UART.
omercury вне форума  
Непрочитано 27.03.2013, 21:57  
oleg110592
Гражданин KAZUS.RUN
 
Регистрация: 05.04.2009
Сообщений: 973
Сказал спасибо: 35
Сказали Спасибо 154 раз(а) в 133 сообщении(ях)
oleg110592 на пути к лучшему
По умолчанию Re: АЦП на Атмега8 и УАРТ - помогите

Код, который на радиокоте проверили?
oleg110592 вне форума  
Непрочитано 27.03.2013, 21:58  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: АЦП на Атмега8 и УАРТ - помогите

omercury, мне кажется, Вы уводите человека в сторону. Она меня уже один раз ткнула носом в первый пост, где достаточно сказано о техзадании, а если учесть что ТС - студент, то ни о каких наворотах типа хоста речи быть не может - простая учебная задача для познания основ. И "Free Running Mode" здесь ни к чему, достаточно один раз в 10...100 ms производить измерения.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
 

Метки
атмега8, ацп, уарт
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с АЦП putmannn Электроника - это просто 5 19.09.2011 20:43
Несчастный УАРТ jakuchma Микроконтроллеры, АЦП, память и т.д 52 10.02.2011 17:36
Кто по дзс1768 поможет? уарт не пашет индюк Микроконтроллеры, АЦП, память и т.д 0 14.01.2011 02:31
[Решено] Помогите опознать АЦП ? sh2cer Информация по радиокомпонентам 2 08.12.2009 17:12
Proteus 7.1sp4 и АТмега8 ARM7TDMI Микроконтроллеры, АЦП, память и т.д 1 26.03.2008 16:52


Часовой пояс GMT +4, время: 21:35.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.