roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 ноя 2024, 18:15

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 2149 ]  На страницу Пред.  1 ... 82, 83, 84, 85, 86, 87, 88 ... 144  След.
Автор Сообщение
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 27 сен 2009, 19:58 
Не в сети
Аватара пользователя

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


Вложения:
123.JPG
123.JPG [ 32.79 КиБ | Просмотров: 1695 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 27 сен 2009, 21:03 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
в АСМ коде видно, что операция
Код:
|=
делается с номерами битов, а не с масками как надо бы.

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

Код:
...  |= (1 << FOC1A);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 27 сен 2009, 21:20 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2008, 14:41
Сообщения: 997
Откуда: СПб
прог. языки: C,Python
1)у меня же макрос объявлен -
#define FOC1A (1<<3)
2) даже если писать TCCR1A |= ( 1 << 3 );
результат тотже

Добавлено спустя 4 минуты 31 секунду:
В R30 вмлаб пишет 0b00011000


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 27 сен 2009, 21:29 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Тогда по АСМ видно что он правильно делает операцию ИЛИ с числом 8.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 27 сен 2009, 21:34 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2008, 14:41
Сообщения: 997
Откуда: СПб
прог. языки: C,Python
тогда почему нога не дёргается ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 27 сен 2009, 21:35 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Надо попробовать другой симулятор или натуру.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 27 сен 2009, 21:50 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 15 окт 2009, 19:04 
Не в сети
Аватара пользователя

Зарегистрирован: 07 сен 2009, 20:06
Сообщения: 333
прог. языки: c, c#
ФИО: Евгений
Добрый вечер всем!
У меня вопрос, как сделать прерывание по изменению уровня на PCINT9 ? Контроллер atmega48
CodeVision ругается на такую запись:
Код:
interrupt [PCINT9] void pc9_int(void)
{
some code...
}

Не знает что такое PCINT9 :(
Еще на выводе PB0 почему - то всегда лог. 1, ставлю 0, а всеравно 1 :RTFM:

http://wearcam.org/ece385/avr/atmega48pinout.png


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 15 окт 2009, 20:04 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Воспользуйтесь мастером кода. Потом посмотрите что он вам выдаст и в даташите прочитайте про эти регистры.

Добавлено спустя 2 минуты 11 секунд:
osc писал(а):
CodeVision ругается на такую запись:
Код:
interrupt [PCINT9]
Как работают прерывания в микроконтроллере AVR - механизм и примеры объявления в разных компиляторах - http://avr123.nm.ru/03.htm

Добавлено спустя 1 минуту 43 секунды:
osc писал(а):
на выводе PB0 почему - то всегда лог. 1, ставлю 0, а всеравно 1

Как ставите ? Как измеряете ?

osc писал(а):
:RTFM:
Это :RTFM: точно ! Устройство микроконтроллера AVR - http://avr123.nm.ru/02.htm


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 15 окт 2009, 21:31 
Не в сети
Аватара пользователя

Зарегистрирован: 07 сен 2009, 20:06
Сообщения: 333
прог. языки: c, c#
ФИО: Евгений
С прерываниями разобрался.
Цитата:
Как ставите ? Как измеряете ?

Устанавливаю 0 так:
Код:
void main(void)
{
DDRB.0 = 0xFF;
PORTB.0 = 0x00;
}

Измеряю мультметром относительно "-" пит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 15 окт 2009, 21:41 
Не в сети
Аватара пользователя

Зарегистрирован: 20 мар 2009, 12:45
Сообщения: 682
Откуда: Украина, Одесса
ФИО: Сергей
попробуй
Код:
void main(void)
{
DDRB.0 = 1;
PORTB.0 = 0;
}

:wink:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 15 окт 2009, 21:45 
Не в сети
Аватара пользователя

Зарегистрирован: 07 сен 2009, 20:06
Сообщения: 333
прог. языки: c, c#
ФИО: Евгений
Завтра тогда попробую...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 18 окт 2009, 15:47 
Не в сети

Зарегистрирован: 18 окт 2009, 15:26
Сообщения: 2
Откуда: Харьков
Прошу прощения, вопрос может показаться примитивным, но все же...
Как в АВР Студии (4.16 билд 128 ) на Си (стоит еще ВинАВР-20060421) присвоить значение биту порта? Например, PORTA.4=1 (равно как и PA4=0 и куча других вариантов) почему-то не работает; что-то в духе
Код:
PORTB=(1 << 4)|(1 << 3);

4 и 3 бит устанавливает, а остальные сбрасывает в 0, а надо, чтоб их не меняло...
Можно, конечно, через логические функции и маски, но слишком уж неудобно. Тем более, нужна возможность использовать значение бита в условии.
Буду благодарен за помощь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 18 окт 2009, 15:50 
Не в сети
Аватара пользователя

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

или то же самое короче
Код:
PORTB |= ((1 << 4)|(1 << 3));

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 18 окт 2009, 16:24 
Не в сети

Зарегистрирован: 18 окт 2009, 15:26
Сообщения: 2
Откуда: Харьков
Спасибо, но это только для установки в 1. А обнулять тогда как?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2149 ]  На страницу Пред.  1 ... 82, 83, 84, 85, 86, 87, 88 ... 144  След.

Часовой пояс: UTC + 4 часа


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

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


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO