roboforum.ru

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

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

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

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

Сообщение regenerator » 24 авг 2008, 18:00

=DeaD= писал(а):А даташит пробовали читать?

Я што похож на англичанина? :)
=DeaD= писал(а): И вообще МК какой-то уже выбрали? Потому что то, что вы сейчас спрашиваете в коде может быть прописано уже только под конкретный МК.

МК ATmega32. Ошибку я свою понял - мне нужны прерывания. Даташиты я читать не умею.

Даташит на Русском языке возьмите на - http://avr123.nm.ru/02.htm
"Устройство AVR"

"Прерывания в AVR" - http://avr123.nm.ru/03.htm
Лучший способ запомнить что нибудь — постараться это забыть.
regenerator
 
Сообщения: 50
Зарегистрирован: 28 май 2008, 21:56
Откуда: планета Земля
прог. языки: Паскаль, Си.

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

Сообщение =DeaD= » 24 авг 2008, 19:34

regenerator писал(а):
=DeaD= писал(а):А даташит пробовали читать?

Я што похож на англичанина? :)

Уж не знаю к сожалению, к счастью ли - но если вы хотите в этой области знаний чем-то заниматься, то вам придётся стать англичанином, чтобы читать эти самые даташиты :) беглое чтение на техническом английском никто еще не отменял.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение SSG » 24 авг 2008, 19:38

Читайте книжку Евстифеева про микроконтроллерЫ атмега и атини. Там практически переводы даташитов. Она по сети и в электронном виде валяется.

Книги можно скачать на http://avr123.nm.ru
< добавил avr123.nm.ru >
I live My life!
Аватара пользователя
SSG
 
Сообщения: 1058
Зарегистрирован: 15 янв 2007, 19:23
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК

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

Сообщение Кирилл » 14 сен 2008, 13:05

юзаю Tiny2313 на 16Mhz. Пытаюсь запустить ШИМ на Timer1 с такими параметрами: 62,5кГц, 47%. собсно вопрос в следующем: какие значения и каким регистрам надо придать чтобы все заработало?
Кирилл
 
Сообщения: 432
Зарегистрирован: 20 окт 2005, 16:11
Откуда: Вильнюс,Литва
прог. языки: Basic

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

Сообщение blindman » 14 сен 2008, 14:15

Код: Выделить всёРазвернуть
/* clear OC1A on Compare Match, set OC1A at TOP */
TCCR1A =   _BV(COM1A1);
/* fast PWM, 8 bit */
TCCR1A |=  _BV(WGM10);
TCCR1B = _BV(WGM12) ;
/* no prescaling */
TCCR1B |= _BV(CS10) ;
/* Duty cycle 120/256 = 0,46875 */
OCR1 = 120;


Вроде так. А почему именно Timer1? Он же будет использоваться в 8-битном разрешении, хватило бы и Timer0 .
Проект [[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: МикроКонтроллеры начинающим - общие вопросы

Сообщение Duhas » 14 сен 2008, 15:29

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

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

Сообщение blindman » 14 сен 2008, 15:33

Нельзя. 16000000/62500=256
Проект [[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: МикроКонтроллеры начинающим - общие вопросы

Сообщение Кирилл » 15 сен 2008, 00:03

спасибо за ответ, однако это не совсем то что я хотел услышать. дело в том что я пишу на васике и с синтаксисом Си не знаком к сожалению, поэтому мне желательно знать просто регистры и величины :)
Кирилл
 
Сообщения: 432
Зарегистрирован: 20 окт 2005, 16:11
Откуда: Вильнюс,Литва
прог. языки: Basic

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

Сообщение blindman » 15 сен 2008, 08:40

Ну, вот тебе регистры и значения
Код: Выделить всёРазвернуть
TCCR1A = 129;
TCCR1B = 9;
OCR1AH = 0;
OCR1AL = 120;

Только потом в таком коде без бутылки не разберешься - фиг его знает, что там эти цифры значат. Да это вроде и не васиковский метод - напрямую в регистры писать, там же всякие Config есть
Проект [[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: МикроКонтроллеры начинающим - общие вопросы

Сообщение Кирилл » 15 сен 2008, 18:07

Премного благодарен :) просто интересно попробовать выставить регистры напрямую без конфигов, ибо что то у меня с ними не получается ШИМ который нужен.
Кирилл
 
Сообщения: 432
Зарегистрирован: 20 окт 2005, 16:11
Откуда: Вильнюс,Литва
прог. языки: Basic

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

Сообщение avr123.nm.ru » 15 сен 2008, 19:52

Кирилл писал(а): у меня с ними не получается ШИМ который нужен.

Очень удобный мастер конфигурации МК в компиляторе ICC - посмотри http://avr123.nm.ru/z6.htm

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

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

Сообщение Doniak » 28 сен 2008, 16:05

програмирую в CVAVR на Си. Как можно десятичное число разделить на сотни десятки еденицы и записать их в разные переменые? Например дано А=173 получаем Б=1 В=7 Г=3 ?
Аватара пользователя
Doniak
 
Сообщения: 142
Зарегистрирован: 26 сен 2007, 08:25
Откуда: Krivoy Rog, ukraina
прог. языки: Си
ФИО: Коля

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

Сообщение Montoya » 28 сен 2008, 17:13

Может использовать функцию получения остатка от деления?
Аватара пользователя
Montoya
 
Сообщения: 168
Зарегистрирован: 14 авг 2007, 15:16
Откуда: Ростов-на-Дону
прог. языки: C/C++
ФИО: Герасимов Иван

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

Сообщение Vooon » 28 сен 2008, 17:38

Способ "в лоб"
Код: Выделить всёРазвернуть
char abc = 173;
printf("abc: %d %d %d\n", abc / 100, (abc % 100) / 10, abc % 10);
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

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

Сообщение avr123.nm.ru » 28 сен 2008, 18:09

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

Пред.След.

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

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

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