搜索
bottom↓
回复: 18

pic18 中断服务程序怎么写?跪求

[复制链接]

出0入0汤圆

发表于 2010-10-25 11:49:27 | 显示全部楼层 |阅读模式
pic18 中断服务程序怎么写?跪求,发个例子也行。

出0入0汤圆

发表于 2010-10-25 12:04:28 | 显示全部楼层
MCC18的话编译器安装目录下肯定有。PICC18,某些版本是会有的。

出0入0汤圆

 楼主| 发表于 2010-10-25 12:09:53 | 显示全部楼层
回复【1楼】headwolf_83
-----------------------------------------------------------------------
能否详示?
我现在不懂的就是函数头怎么写?有什么规范什么的?

出0入0汤圆

 楼主| 发表于 2010-10-25 12:14:04 | 显示全部楼层
回复【1楼】headwolf_83
-----------------------------------------------------------------------

我看了一些例子,比如说是AD转换中断服务程序:void interrupt adint(void),我也尝试这样写,但是编译显示错误,错误的原因就是之间不能有空格。
希望能得到你的帮助,小弟不胜感激。

出0入0汤圆

发表于 2010-10-25 12:18:00 | 显示全部楼层
就是下边这样写法,他有两种有先级方式,中断使能允许位不同

#pragma interrupt Check_isr_type
void Check_isr_type(void)      
{
        if(INTCONbits.TMR0IF)
        {
                timer0_isr();    //具体的中断服务程序
        }

//  ...
  
//        else if()
//        {
//                ;
//        }

//  ...  //这里下边还可以继续查看是否有其他类型的中断产生,从而跳向相应的中断执行程序

}
#pragma code My_HiPrio_Int = 0x08       
void My_HiPrio_Int(void)            
{
   _asm GOTO Check_isr_type _endasm
}
#pragma code

出0入0汤圆

发表于 2010-10-25 12:19:46 | 显示全部楼层
MCC18下的

出0入0汤圆

 楼主| 发表于 2010-10-25 14:24:08 | 显示全部楼层
回复【4楼】longfeixue
-----------------------------------------------------------------------

非常感谢你的帮助,能否告诉我你是在哪看到的吗?

出0入0汤圆

发表于 2010-10-25 14:26:59 | 显示全部楼层
MCC18用户手册里面也有,你找一下关键字就可以了。interrupt xxx是PICC18的写法。

出0入0汤圆

 楼主| 发表于 2010-10-25 15:12:34 | 显示全部楼层
回复【7楼】headwolf_83
-----------------------------------------------------------------------
哦,谢谢您,您能给我您的QQ,有个程序找您看下,不知道您能帮忙么?

出0入0汤圆

发表于 2010-10-25 15:53:46 | 显示全部楼层
我是在网上查了一点相关的,最后自己试验出来的。

出0入0汤圆

 楼主| 发表于 2010-10-25 16:10:30 | 显示全部楼层
回复【9楼】longfeixue
-----------------------------------------------------------------------

哦,谢谢你,我刚才写了一个中断服务子程序,编译成功,但是烧进去后,功能还是实现不了,你能帮我看下吗?谢谢

出0入0汤圆

发表于 2010-10-25 16:13:11 | 显示全部楼层
不知道你是啥问题,用的那个单片机?

出0入0汤圆

 楼主| 发表于 2010-10-26 09:39:02 | 显示全部楼层
回复【11楼】longfeixue
-----------------------------------------------------------------------

谢谢您,用的PIC18F23K20,现在弄明白了,还是感谢你的。

出0入0汤圆

发表于 2011-3-8 21:00:46 | 显示全部楼层

出0入0汤圆

发表于 2011-3-12 08:56:56 | 显示全部楼层
不要一有事就跪求好不,完全丧失了我中华儿女的颜面!哥完全是冲着标题进来的。

出0入0汤圆

发表于 2011-3-17 21:48:50 | 显示全部楼层
MPLAB C18 C 编译器用户指南

上述PDF格式文件有实例。可用的中断矢量有2个,一个是interruptlow,一个是interrupthigh......具体的文件里面有一些介绍。

出0入0汤圆

发表于 2011-3-17 22:12:40 | 显示全部楼层
"跪求"

another girly man.

出0入0汤圆

发表于 2013-8-21 19:09:28 | 显示全部楼层
mark一个,今天我也用到了,在《MPLAB®
C18 C 编译器用户指南》里面确实讲了。

出0入0汤圆

发表于 2014-12-31 21:33:07 | 显示全部楼层
我也是初学者,还在折腾中。学习学习
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-1 11:57

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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