2502.MspExp430F5137RxUserExperience.c 我的板子是msp-expcc430rf4, 在研究历程是发现如图这段程序, 这是个实时时钟用作定时器? 我尝试在中断程序中加入led灯反转: P1OUT ^=BIT0; 但是运行后并无反应。 请问这不是定时器吗? 我也有尝试将//RTCCTL0 |= RTCTEVIE;前的//删去 但是没用。
Susan Yang:
请问您现在使用的是哪个例程?
Li Peng:
回复 Susan Yang:
已上传例程.c 谢谢
Li Peng:
回复 灰小子:
已上传 谢谢
Li Peng:
回复 灰小子:
但是有一个疑问。 我尝试将这段代码中的enable interrupt语句 //注释掉,led灯一样可以闪。这是为何? 其他几个语句似乎都没有中断允许的。
Susan Yang:
回复 Li Peng:
很高兴您能解决问题
您现在使用的是5137的板子?
我们是有一个RTC的例程的,也是反转P1.0,您可以参考一下
/* --COPYRIGHT--,BSD_EX* Copyright (c) 2012, Texas Instruments Incorporated* All rights reserved.** Redistribution and use in source and binary forms, with or without* modification, are permitted provided that the following conditions* are met:** *Redistributions of source code must retain the above copyright*notice, this list of conditions and the following disclaimer.** *Redistributions in binary form must reproduce the above copyright*notice, this list of conditions and the following disclaimer in the*documentation and/or other materials provided with the distribution.** *Neither the name of Texas Instruments Incorporated nor the names of*its contributors may be used to endorse or promote products derived*from this software without specific prior written permission.** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.**********************************************************************************MSP430 CODE EXAMPLE DISCLAIMER** MSP430 code examples are self-contained low-level programs that typically* demonstrate a single peripheral function or device feature in a highly* concise manner. For this the code may rely on the device's power-on default* register values and settings such as the clock configuration and care must* be taken when combining code from several examples to avoid potential side* effects. Also see www.ti.com/grace for a GUI- and www.ti.com/msp430ware* for an API functional library-approach to peripheral configuration.** --/COPYRIGHT--*/ //****************************************************************************** //CC430F513x Demo - RTC in Counter Mode toggles P1.0 every 1s // //This program demonstrates RTC in counter mode configured to source from ACLK //to toggle P1.0 LED every 1s. // //CC430F5137 //----------------- ///|\ || //||| //---|RST| //|| //|P1.0|-->LED // //M Morales //Texas Instruments Inc. //April 2009 //Built with CCE Version: 3.2.2 and IAR Embedded Workbench Version: 4.11B //******************************************************************************#include <msp430.h>int main(void) {WDTCTL = WDTPW+WDTHOLD;P1OUT |= 0x01;P1DIR |= 0x01;// Setup RTC TimerRTCCTL01 = RTCTEVIE + RTCSSEL_2 + RTCTEV_0; // Counter Mode, RTC1PS, 8-bit ovf// overflow interrupt enableRTCPS0CTL = RT0PSDIV_2;// ACLK, /8, start timerRTCPS1CTL = RT1SSEL_2 + RT1PSDIV_3;// out from RT0PS, /16, start timer__bis_SR_register(LPM3_bits + GIE); }#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=RTC_VECTOR __interrupt void RTC_ISR(void) #elif defined(__GNUC__) void __attribute__ ((interrupt(RTC_VECTOR))) RTC_ISR (void) #else #error Compiler not supported! #endif {switch(__even_in_range(RTCIV,16)){case 0: break;// No interruptscase 2: break;// RTCRDYIFGcase 4:// RTCEVIFGP1OUT ^= 0x01;break;case 6: break;// RTCAIFGcase 8: break;// RT0PSIFGcase 10: break;// RT1PSIFGcase 12: break;// Reservedcase 14: break;// Reservedcase 16: break;// Reserveddefault: break;} }