工具/软件:Code Composer Studio
大家好,我对 tms570ls0432 launchpad 非常陌生。 我尝试使用 compare0实现 RTI 中断,下面是我的代码。 但是当我想使用 RTI 为每10、5、2mSec 生成0、1、2中断时。 我无法生成该代码,实际上我无法为其编写代码,因为 RTI 模块 helcogen 只生成一个 void rtiNotification (UINT32 notification)。 如果我想为中断编写自己的代码,如何执行它。 请帮助。
#include "sys_common.h"
/*用户代码开始(1)*/
#include "rti.h"
#include "het.h"
#include "Gio.h"
/*用户代码结束*/
/**@fn void main (void)
* @应用程序主函数简介
* @请注意、默认情况下、此函数为空。
*
* 此函数在启动后调用。
* 用户可以使用此函数来实现应用程序。
*
/*用户代码开始(2)*/
UINT16 ISR=0;
/*用户代码结束*/
int main (空)
{
/*用户代码开始(3)*/
/*初始化 RTI 驱动程序*/
rtiInit();
gioInit();
/*将高端计时器 GIO 端口 hetPort 引脚方向设置为所有输出*/
gioSetDirection (hetPORT1、0xFFFFFFFF);
/*启用 RTI 比较0中断通知*/
rtiEnableNotification (rtiNOTIFICATION_COMPARE1);
/*启用 IRQ -清除 CPS 寄存器中的 I 标志*/
/*注意:这通常由操作系统或 SVC 调度程序来完成*/
_enable_IRQ ();
/*启动 RTI 计数器块0 */
rtiStartCounter (rtiCOUNTER_BLOCK0);
/*永久运行*/
while (1);
/*用户代码结束*/
//返回0;
}
/*用户代码开始(4)*/
/*注-您需要从 notification.c 中删除 rtiNotification 以避免重新定义*/
void rtiNotification (uint32通知)
{
/* 在用户代码开始和用户代码结束之间输入用户代码。 *
ISR++;
gioToggleBit (gioPORTA、4);
}
/*用户代码结束*/