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

 
 
> Как настроить прерывания в IAR MSP430?, Скачал пример - часы, не могу запустить...
George22
сообщение Feb 13 2009, 07:58
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 10-02-09
Пользователь №: 44 653



Скачал пример программы - часы, вторые сутки бьюсь, не работает:
CODE
#include "msp430x11x1.h" ; include std defs
; RTC variables
#define SEC R13
#define MIN R14
#define HR R15
;-----------------------------------------------------------------------------
; Program RESET
RSEG CODE
;-----------------------------------------------------------------------------
RESET MOV #02FEh,SP ; Initialize stackpointer
MOV #WDTPW+WDTHOLD,&WDTCTL ; Stop Watchdog Timer
MOV #TASSEL0+TACLR, &TACTL ; ACLK for Timer_A.
BIS #CCIE,&CCTL0 ; Enable CCR0 interrupt.
MOV #07FFFh,&CCR0 ; load CCR0 with 32,767.
BIS #MC0, &TACTL ; start TA in "up to CCR0" mode
ClearRTC MOV.b #00h,SEC ; Clear SEC
MOV.b #00h,MIN ; Clear MIN
MOV.b #00h,HR ; Clear HR
EINT ; Enable interrupts
; Mainloop
Mainloop BIS #LPM3,SR ; Set SR bits for LPM3
CALL #Clock ; Update Clock
JMP Mainloop ; Endless Loop
;-----------------------------------------------------------------------------
; Clock: Update clock SEC and MIN and HR
;-----------------------------------------------------------------------------

Clock SETC ; Set Carry bit.
DADC.b SEC ; Increment seconds decimally
CMP.b #060h,SEC ; One minute elapsed?
JLO Clockend ; No, return
CLR.b SEC ; Yes, clear seconds
DADC.b MIN ; Increment minutes decimally
CMP.b #060h,MIN ; Sixty minutes elapsed?
JLO Clockend ; No, return
CLR.b MIN ; yes, clear minutes
DADC.b HR ; Increment Hours decimally
CMP.b #024h,HR ; 24 hours elapsed?
JLO Clockend ; No, return
CLR.b HR ; yes, clear hours
Clockend RET ;
;-----------------------------------------------------------------------------


; Setup: Configure Modules and Control Registers
;-----------------------------------------------------------------------------
CCR0INT BIC #LPM3,0(SP) ; Clear SR LPM3 Bits, on top of stack
RETI ;
;-----------------------------------------------------------------------------


;---Interrupt vectors---------------------------------------------------------
RSEG INTVEC

DW RESET ;
DW RESET ;
DW RESET ;
DW RESET ;
DW RESET ;
DW RESET ;
DW RESET ;
DW RESET ;
DW RESET ;
DW CCR0INT ; Timer_A (CCIFG0)
DW RESET ; Watchdog Timer
DW RESET ;
DW RESET ;
DW RESET ;
DW RESET ; NMI, Osc. fault
DW RESET ; POR, ext. Reset, Watchdog
END
;------------------------------------------------------------------------------


В дебаггере заходит в LPM3 и все - молчок -никаких прерываний.

Варианты:
0.в программе ошибка?
1.или я тупой и надо возвращаться к AVR?
2.может настройки в IAR слишком сложные?
Причина редактирования: Уменьшение видимого размера цитаты исходника.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 18:11
Рейтинг@Mail.ru


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