roboforum.ru

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

МикроКонтроллер AVR начинающим - общие вопросы

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

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение blindman » 18 окт 2009, 16:28

Код: Выделить всёРазвернуть
PORTB &= ~((1 << 4)|(1 << 3));

Почитайте книжку какую-нибудь по основам языка C, Керниган-Ритчи есть в сети в русском переводе
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 18 окт 2009, 19:20

Arrovil писал(а):Спасибо, но это только для установки в 1. А обнулять тогда как ?

Язык Си для микроконтроллеров AVR на русском языке - http://avr123.nm.ru/05.htm

Управление отдельными битами регистров и переменных в разных компиляторах на примерах - http://avr123.nm.ru/z1.htm

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

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Webspider » 19 окт 2009, 20:58

Доброго времени суток всем!
Свой уровень на данный момент оцениваю веьсьма и весьма низким, отчего вынужден обратиться сюда за советом.
Вопрос: как наиболее оптимально на Atmega8 реализовать проект, который оцифрует и отправит на ПК отклик RC-цепочки на прямоугольный импульс длительностью 1-3 секунды? Очень важно максимально точно зарегистрировать постоянную времени.
Webspider
 
Сообщения: 22
Зарегистрирован: 18 окт 2009, 12:36
Откуда: Самара

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение EdGull » 19 окт 2009, 21:02

оптимально с какой точки зрения?
если с точки зрения времени написания кода, то на Bascom AVR Basic это займет около 10 строк кода
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 19 окт 2009, 21:03

Наверно можно настроить АЦП в ATmega8 ( например мастером в CVAVR и по примеру компилятора ) на периодические измерения напряжения и по окончании выводить данные в USART настроеный тем же мастером по примерам - http://avr123.nm.ru/z4.htm и http://avr123.nm.ru/z5.htm Запускать АЦП можно по прерыванию по окончании отправки данных USART. Обработку "сырых" данных можно сделать в проге на ПК.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Webspider » 19 окт 2009, 22:26

Оптимально -- с точки зрения максимально возможного числа измерений в течение действия импульса.
avr123.nm.ru
а нельзя ли организовать оцифровку измерений и их сохранение непосредственно в памяти МК? а передачу уже по запросу - от кпонки например?... не будет ли такой подход более быстродействующим чем затраты времени на цикл "оцифровка-передача" как вы предложили? Или память не позволит?
Webspider
 
Сообщения: 22
Зарегистрирован: 18 окт 2009, 12:36
Откуда: Самара

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 19 окт 2009, 22:31

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

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Drunya » 20 окт 2009, 16:12

Подскажите где найти приоритеты прерываний меги. Смотрю даташит, но что-то не вижу. Интересует именно - прерывание по какому таймеру будет обрабатываться первым (при приходе одновременно нескольких).
Глюк по-немецки означает "счастье"...
Аватара пользователя
Drunya
 
Сообщения: 196
Зарегистрирован: 05 июн 2007, 12:20
Откуда: Киев
прог. языки: C/C++, ASSEMBLER

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение blindman » 20 окт 2009, 16:28

ATMega88 datasheet писал(а):The interrupts have priority in accordance with their Interrupt Vector position. The lower the Interrupt Vector address, the higher the priority.

Чем меньше адрес, по которому расположен вектор прерывания, тем больше приоритет. В ATMega88, например, прерывание от таймера 2 имеет приоритет выше, чем от таймеров 1 и 0
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 20 окт 2009, 16:38

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

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Drunya » 20 окт 2009, 18:01

blindman писал(а):Чем меньше адрес, по которому расположен вектор прерывания, тем больше приоритет.
Я так и думал, но в ДШ сначала не нашел. Теперь вижу, просто искал не там. :) Спасибо.
Глюк по-немецки означает "счастье"...
Аватара пользователя
Drunya
 
Сообщения: 196
Зарегистрирован: 05 июн 2007, 12:20
Откуда: Киев
прог. языки: C/C++, ASSEMBLER

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение ALHIMIK » 22 окт 2009, 18:55

в меге 8 АЦП и ТВИ на одном порте :shock:
нужно использовать и то и другое в месте(для радара)
вопрос такой - как снизить наводки от ТВИ на аналоговые сигналы ?
Аватара пользователя
ALHIMIK
 
Сообщения: 997
Зарегистрирован: 05 окт 2008, 14:41
Откуда: СПб
прог. языки: C,Python

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Duhas » 22 окт 2009, 18:57

не передавать по ТВИ пока цифруешь )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение ALHIMIK » 22 окт 2009, 19:01

в этом и проблема мега ведомая
а главный во время работы головы может с другими "болтать"
Аватара пользователя
ALHIMIK
 
Сообщения: 997
Зарегистрирован: 05 окт 2008, 14:41
Откуда: СПб
прог. языки: C,Python

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Master » 22 окт 2009, 19:11

Использовать отдельную микру АЦП и результат точнее будет.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Пред.След.

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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 9