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

 
 
> Проблема с выходом из прерывания
Melnichiy
сообщение Aug 5 2008, 17:54
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 14-10-07
Из: Москва
Пользователь №: 31 341



Доброго всем времени суток!
Возникла проблемка с выходом из прерывания. Вот небольшая программка (моргание диодом eZ430-F2013):

#include "msp430.h"
ORG 0F800h
Reset MOV.W #0270h,SP
MOV.W #WDTPW+WDTHOLD,&WDTCTL
MOV.B #01h,&P1DIR
MOV.B #002h,BCSCTL2
MOV.W #0260h,&TACTL
BIS.W #0002h,&TACTL
MOV.W #0008h,SR
JMP $
TARoutine XOR.B #001h,&P1OUT
RETI
ORG 0FFFEh
DW Reset
ORG 0FFF0h
DW TARoutine
END
Программа компилится и шьется IAR EW, но при запуске диод загорается на некоторый ОЩУТИМЫЙ промежуток времени (пробовал разные изменяя частоту SMCK) а потом его яркость снижается и всё 05.gif
Когда запускаю в дебаггере и останавливаю программа останавливается на одной из двух строк:

TARoutine XOR.B #001h,&P1OUT
RETI

при этом значение таймера ТА может быть любым!
Выход из прерывания происходит ТОЛЬКО в пошаговом режиме, когда в окне просмотра регистров в отладчике выбран просмотр регистров счетчика 07.gif
Еще проблемка - мой CCE (скачал пробную версию с ti.com) не распознает некоторые ассемблерные команды ( bis.b, add.w) и при попытке компиляции выдает ошибку.
Что можете посоветовать, на форуме и в errata ничего похожего я не нашел.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Aug 5 2008, 18:31
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Как я понимаю, вы используете прерывание по переполнению таймера? В таком случае вам нужно в обработчике прочитать регистр TAIV, чтобы сбросить флаг прерывания. И используйте кнопку '#' в форме ввода сообщения для обрамления кода.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Melnichiy
сообщение Aug 5 2008, 18:50
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 14-10-07
Из: Москва
Пользователь №: 31 341



СПАСИБО!!!! beer.gif
Все заработало!
Действительно тяжеловато читать тексасовские User's Guide
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 6 2008, 08:13
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Melnichiy @ Aug 5 2008, 21:50) *
Действительно тяжеловато читать тексасовские User's Guide
Не знаю, не знаю... UG на 33х (желтая такая книжка) был прочитан в свое время (98г.) за ночь в поезде. Насколько я помню - ни одной непонятки не возникло. Просто надо один раз доку прочитать через силу от начала до конца, а уже потом по мере необходимости перечитывать конкретные разделы.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


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


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