Thread 中讨论的其他器件:SYSBIOS
工具/软件:TI-RTOS
您好!
我正在为上述 launchpad 使用 CCS 7.1.0和 RTOS 2.20.00.06。
我已经以图形方式定义了一个 Hwi:
如我的 cmd 文件所示、与 RTC 相关的中断号为:RTC_C :{*(.int31 )}> INT31类型= VECT_INIT
这是我的主文件:
#include
#include
#include
#include
#include
#include
#include
#include "Board.h"
volatile Int16_t i16ToggleCount = 0;
volatile Int16_t i16ToggleCount1 = 0;
volatile Calendar newTime;
void led1Toggle (void);
void led2Toggle (void);
int main (空)
{
日历当前时间;
Board_initGeneral();
Board_initGPIO();
GPIO_WRITE (Board_LED0、Board_LED_ON);
GPIO_WRITE (Board_LED1、Board_LED_ON);
CurrentTime.seconds = 0x00;
CurrentTime.Minutes = 0x30;
CurrentTime.hours = 0x17;
CurrentTime.DayOfWeek = 0x02;
CurrentTime.dayofmonth = 0x30;
CurrentTime.Month = 0x04;
CurrentTime.Year = 0x2017;
RTC_C_initCalendar (RTC_C_base、&CurrentTime、RTC_C_FORMAT_BCD);
RTC_C_CONFIGureCalendarAlarmParam ={0};
param.minutesAlarm = 0x35;
param.hoursAlarm = RTC_C_ALARMCONDITION_OFF;
param.dayOfWeekAlarm = RTC_C_ALARMCONDITION_OFF;
param.dayOfMonthAlarm = RTC_C_ALARMCONDITION_OFF;
RTC_C_CONFIGureCalendarAlarm (RTC_C_base、¶m);
RTC_C_setCalendarEvent (RTC_C_base、RTC_C_CALENDAREVENT_INTOTECHANGE);
RTC_C_enableInterrupt (RTC_C_base、RTCRDYIE + RTCTEVIE + RTCAIE);
RTC_C_enableInterrupt (RTC_C_base、RTCRDYIFG + RTCTEVIFG + RTCAIFG);
RTC_C_startClock (RTC_C_base);
BIOS_start();
返回(0);
}
void led1Toggle (void)
{
GPIO_TOGGLE (Board_LED0);
i16ToggleCount += 1;
LOG_Info1 ("LED 切换[%u]次"、i16ToggleCount);
}
void led2Toggle (void)
{
GPIO_TOGGLE (Board_LED1);
i16ToggleCount1 += 1;
LOG_Info1 ("LED 切换[%u]次"、i16ToggleCount1);
}
空 RTC_ISR (uintptr_t arg)
{
led1Toggle ();
}
我已经为 RTC 配置了多个中断、并且 LED 始终亮起。
我还会附加 CCS 项目。
谢谢、此致、
Juan Antonioe2e.ti.com/.../blink_5F00_msp430_5F00_hwi_5F00_RTC.zip

