TC275简单实例一:软件中断

#define sortprio 3
#define IFX_INTPRIO_STM0_SR0 10

void handler_CPU0(void) //软件中断服务函数
{

IfxSrc_clearRequest(&SRC_GPSR_GPSR0_SR0);         //清除标志位
IfxPort_togglePin(&MODULE_P33, 7);        

}

void SW_int(void)
{
IfxPort_setPinMode(&MODULE_P33, 7, IfxPort_Mode_outputPushPullGeneral);
IFX_INTERRUPT(handler_CPU0, 0, sortprio); //注册中断
IfxSrc_init(&SRC_GPSR_GPSR0_SR0, IfxSrc_Tos_cpu0, sortprio ); //初始化软件中断
IfxSrc_enable(&SRC_GPSR_GPSR0_SR0); //使能
}

void soft_Trigger(void) //软件触发函数
{
INT_SRB0.B.TRIG0=1;
IfxPort_togglePin(&MODULE_P33, 1);
}

//main函数
int core0_main (void)
{

IfxScuWdt_disableCpuWatchdog(IfxScuWdt_getCpuWatchdogPassword());
IfxScuWdt_disableSafetyWatchdog(IfxScuWdt_getSafetyWatchdogPassword());
SW_int();
IfxCpu_enableInterrupts();
while(1)
{
	IfxStm_waitTicks(&MODULE_STM0, 4000000);
	IfxStm_waitTicks(&MODULE_STM0, 4000000);
	IfxStm_waitTicks(&MODULE_STM0, 4000000);
	IfxStm_waitTicks(&MODULE_STM0, 4000000);

	soft_Trigger();           //间隔触发软件中断

}
return (1);

}

效果:流水灯间隔闪烁

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值