 |
|
|
|
| Автор |
Сообщение |
mx7007 Новичок
Зарегистрирован: 26.10.2007 Сообщения: 2
|
Добавлено: 26 Окт 2007, 17:37 Заголовок сообщения: Вопрос По Mega16 |
|
|
Написал программу мигания светодиодом используя прерыванию таймера счетчика1 по переполнению для attiny2313. Откомпилировал в CodeVision. Все работает прекрасно (проверял в VM_lab-е и Proteus-е).
Решил попробывать запустить эту программу на atmega16. Создал новый проект в CodeVision и поменял только
файл библиотеки <TINY2313.H> на <MEGA16.H> и в настройках проекта выбрал MEGA16, больше ничего не
трогал. Откомпилировал и запустил в VM_lab, но прерывания не возникает соответственно и светодиод не моргает.
Попробывал в Proteus-е таже фигня.
Может кто поможет решить проблему.
Текст программы и проекты в CodeVision и VM_lab для attiny2313 и mega16 прилагаются в архиве.
| Описание: |
| Текст программы и проекты в CodeVision и VM_lab для attiny2313 и mega16 |
|
 Файлообменник |
| Название файла: |
1.rar |
| Размер файла: |
4.44 KB |
| Скачено: |
70 раз(а) |
|
|
| Вернуться к началу |
|
 |
Murka Знатный посетитель (>20)

Зарегистрирован: 14.10.2006 Сообщения: 51 Откуда: Рубежное UA_13
|
Добавлено: 27 Окт 2007, 1:10 Заголовок сообщения: |
|
|
Очень мало настроек для 16 бит_ного таймера!!
Пересобери проект заново -- создай новый с помощью мастера и укажи там свой таймер, укажи наличие прерываний от него и всё что тебе надо
_________________ Смешно!!!, с всемирной тупостью бороться!!! |
|
| Вернуться к началу |
|
 |
mx7007 Новичок
Зарегистрирован: 26.10.2007 Сообщения: 2
|
Добавлено: 27 Окт 2007, 5:14 Заголовок сообщения: |
|
|
Но ведь для attiny2313 я создавал не с помощью мастера и все работает.
И еще какие настройки в мастере выставлять чтоб возникало прерывание по переполнению таймера?
|
|
| Вернуться к началу |
|
 |
Murka Знатный посетитель (>20)

Зарегистрирован: 14.10.2006 Сообщения: 51 Откуда: Рубежное UA_13
|
Добавлено: 27 Окт 2007, 5:26 Заголовок сообщения: |
|
|
Ну а я для чего советовал создать с помощью мастера, для того чтобы посмотреть!!
потому как второй вариант -- это пойти на Atmel скачать документацию (метра 3) на AtMega16 и читать
_________________ Смешно!!!, с всемирной тупостью бороться!!! |
|
| Вернуться к началу |
|
 |
ForkJoin Новичок
Зарегистрирован: 27.10.2007 Сообщения: 1
|
Добавлено: 27 Окт 2007, 17:03 Заголовок сообщения: |
|
|
| Murka писал(а): | Ну а я для чего советовал создать с помощью мастера, для того чтобы посмотреть!!
потому как второй вариант -- это пойти на Atmel скачать документацию (метра 3) на AtMega16 и читать |
Скорее всего всё гораздо проще:
в таблице векторов прерываний для ATtiny 2313 используется 1 байт,
а для ATmega16 - 2 байта. Поэтому для тини пишут rjmp [adress], а для mega - jmp [adress]. Так что прерывание
вызывается, но не на "тот" адрес. Обычно убирают буковки "r" со всех векторов.
|
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 29 Окт 2007, 12:00 Заголовок сообщения: |
|
|
Вся проблема в том, что у этих контроллеров одни и теже биты по названию различны по адресам.
Скачайте документацию на оба контроллера ...и сравните настройки - увидите разницу.
_________________ AndryG |
|
| Вернуться к началу |
|
 |
avr123.nm.ru Знатный посетитель (>20)

Зарегистрирован: 07.08.2006 Сообщения: 67
|
Добавлено: 01 Ноя 2007, 17:06 Заголовок сообщения: |
|
|
| Сделайте мастером проект заново и вставьте нужные куски исходника.
|
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять вложения в этом форуме Вы можете просматривать вложения в этом форуме
|
|