你好,我现在用的S12ZVC单片机,自己写中断时遇到编译后警告的情况。
因为之前的代码都是用PE生成的,将PAD6,7,8,9设置成了AD采样功能,由于唤醒要求,将这4个引脚在休眠前设置成按键唤醒模式,代码如下(仅以PAD8为例):
static void ADtoKWAD_Config(void)
{
DDRAD_DDRADH0 = 0U; //Configure PAD8 as input.
DIENAD_DIENADH0 = 1U; //PAD8 configured as digital input.
PERAD_PERADH0 = 1U; //Pull device enabled.
PPSAD_PPSADH0 = 0U; //Pullup device selected;falling edge selected.
PIEAD_PIEADH0 = 1U; //Interrupt is enabled.
}
并在休眠前调用该函数
ADtoKWAD_Config(); //170629-yyy休眠前将按键AD配置为按键唤醒.
MSCAN0_SetSleepRequest(); //CAN0CTL0_SLPRQ = 1; //sleep mode request.
while(MSCAN0_GetSleepAck() == 0U) {} //wait for acknowledge of sleep mode,CAN0CTL1_SLPAK=1.
Cpu_SetStopMode();
对应的按键唤醒中断函数:
#pragma CODE_SEG __NEAR_SEG NON_BANKED //中断函数置于非分页区内.
void interrupt VectorNumber_Vportad KEY_WAKEUP_ISR(void)
{
PIFAD_PIFADH0 = 1U;
KvsCANSleep_Count = 0U;
}
#pragma CODE_SEG DEFAULT //后续代码置于默认区域内.
编译后警告function has no prototype,并且无法debug提示encountered a problem
|