реклама на сайте
подробности

 
 
> Прерывание на ASM, IAR AVR interrupt
_Артём_
сообщение Feb 6 2011, 18:48
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Всем привет!

Нужно написать обработчик прерывания на ассемблере (остальная программа на Си);
процессор - AtxMega256A3, компилятор - IAR.

Нет ли у кого-нибудь примера кода?

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Feb 7 2011, 11:53
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(_Артём_ @ Feb 6 2011, 21:48) *
Всем привет!

Нужно написать обработчик прерывания на ассемблере (остальная программа на Си);
процессор - AtxMega256A3, компилятор - IAR.

Нет ли у кого-нибудь примера кода?

Спасибо.

А что именно Вам непонятно.
Код
    COMMON  INTVEC
    ORG     INT0_vect
    rjmp    loader


Код
        ORG        TIMER2_OVF_vect
        rjmp    TimeOutFor485


PS: Прошу прощения, это для обычной меги. Думаю, что для xmega будет аналогично, кроме, естественно имён векторов.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Feb 7 2011, 13:33
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(SasaVitebsk @ Feb 7 2011, 13:53) *
А что именно Вам непонятно.
Код
    COMMON  INTVEC
    ORG     INT0_vect
    rjmp    loader


Код
        ORG        TIMER2_OVF_vect
        rjmp    TimeOutFor485


PS: Прошу прощения, это для обычной меги. Думаю, что для xmega будет аналогично, кроме, естественно имён векторов.


Попробовал подключить к проекту файл:
Код
    NAME sst_spi
    
#include "ATxmega256A3.h"
    COMMON    INTVEC
    ORG        TCE1_OVF_vect
    RJMP    tce1_ovf_handler
  
  
  
    RSEG CODE; This code is relocatable, RSEG
    
    
tce1_ovf_handler:
    push r16
    in   r16,0x3f
    push r16
    push r17
    
    pop R17
    pop r16
    out   0x3f,r16
    pop r16
    
    reti    
    
END


IAR на ошбки не ругается, но работает как-то криво - явно что-то неправильно...
Но вот что?


Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 7 2011, 14:29
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(_Артём_ @ Feb 7 2011, 15:33) *
IAR на ошбки не ругается, но работает как-то криво - явно что-то неправильно...
Но вот что?

Попробуйте оттрассировать. (точку останова на каждый элемент таблицы векторов).
Благо конкретно в этой ситуации можно и симулятором воспользоваться.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Артём_   Прерывание на ASM   Feb 6 2011, 18:48
- - GDI   Почитайте в хэлпе как асм код встраивать в Си, точ...   Feb 7 2011, 12:00
- - andk   Все таки напишите, что нужно получить в итоге. Сиш...   Feb 7 2011, 14:59
|- - _Артём_   Попытаюсь описать что не так... Программа компили...   Feb 7 2011, 16:39
|- - ILYAUL   Цитата(_Артём_ @ Feb 7 2011, 19:39) Попыт...   Feb 7 2011, 17:28
|- - _Артём_   Цитата(ILYAUL @ Feb 7 2011, 19:28) А Вы с...   Feb 7 2011, 18:19
|- - ILYAUL   Цитата(_Артём_ @ Feb 7 2011, 21:19) Стек ...   Feb 7 2011, 20:34
- - V_G   У вас прерывание единственное? Когда несколько пре...   Feb 8 2011, 06:01
|- - _Артём_   Цитата(V_G @ Feb 8 2011, 08:01) У вас пре...   Feb 8 2011, 13:32
|- - Палыч   Цитата(V_G @ Feb 8 2011, 09:01) нужно учи...   Feb 8 2011, 13:54
|- - _Артём_   Цитата(Палыч @ Feb 8 2011, 15:54) При вхо...   Feb 8 2011, 14:11
- - _Артём_   В завершении темы выкладываю пример проекта на Си ...   Feb 10 2011, 14:24


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 16:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016