查看: 1907|回复: 1

[S12] S12ZVC中断函数编写

[复制链接]

该用户从未签到

3

主题

7

帖子

0

新手上路

Rank: 1

积分
46
最后登录
2021-3-2
发表于 2017-10-13 13:54:03 | 显示全部楼层 |阅读模式
    建立的工程是带PE功能的,所以里面的中断函数都是通过PE生成使用。
现在需要在休眠后有唤醒的功能,打算在休眠前将原先用作AD采样功能的PAD8引脚设置成外部触发中断功能,因此这个外部触发中断需要自己写,按照中断格式:
#pragma CODE_SEG __NEAR_SEG NON_BANKED    //中断函数置于非分页区内.
void interrupt VectorNumber_Vportad KEY_WAKEUP_ISR(void)
{
        PIFAD_PIFADH0 = 1U;
}
#pragma CODE_SEG DEFAULT   //后续代码置于默认区域内.


将PAD8设置为外部触发中断:
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.
}


在休眠前将PAD8设置为外部触发中断:
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();


编译警告,提示function has no prototype,并且debug时提示错误,无法下载程序。

但是如果在一个没有PE的工程中使用这种中断函数编写方式,虽然编译时有同样的警告,但是程序可以运行。

哪位高手知道带有PE功能的工程如何手写中断函数?

最佳答案

楼主你好! 关于S12的问题,建议你到官方论坛提问,那边会有对应的工程师帮忙解答。 http://community.nxp.com/community/s32/16-bit/content
回复

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20172
最后登录
2024-5-8
发表于 2017-10-16 09:35:19 | 显示全部楼层
楼主你好!
关于S12的问题,建议你到官方论坛提问,那边会有对应的工程师帮忙解答。
http://community.nxp.com/community/s32/16-bit/content
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-5-8 22:11 , Processed in 0.111456 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表