在线时间18 小时
UID3091468
注册时间2015-1-12
NXP金币0
该用户从未签到
注册会员

- 积分
- 90
- 最后登录
- 2015-4-30
|

楼主 |
发表于 2015-1-12 17:34:41
|
显示全部楼层
我把程式改成這樣子,但是一直沒執行中斷副程式,是在不清楚為什麼無法執行....
可以幫我解答嗎?謝謝...
pit_user_config_t pitTestInit = {
.isInterruptEnabled = true,
// Only takes effect when chain feature is available.
// Otherwise, pass in arbitrary value(true/false).
.isTimerChained = false,
// In unit of microseconds.
.periodUs = 1000,
};
PIT_DRV_Init(0, false);
PIT_DRV_InitChannel(0, 0, &pitTestInit);
PIT_DRV_InstallCallback(0,0,PIT0_IRQHandler);//<=這一行不確定是否這樣寫是OK的?
PIT_DRV_StartTimer(0,0);
副程式位子在fsl_pit_irq.c
void PIT0_IRQHandler(void)
{
/* Clear interrupt flag.*/
PIT_HAL_ClearIntFlag(g_pitBaseAddr[0], 0U);
printf(" X \n");//進入副程式後會輸出"X"
/* Run callback function if it exists.*/
if (pitIsrCallbackTable[0][0])
{
(*pitIsrCallbackTable[0][0])();
}
} |
|