单片机 我想问,中断服务函数可以写在其他c文件中吗?如果可以,会起作用吗? 如果不行,只能写mai

单片机 我想问,中断服务函数可以写在其他c文件中吗?如果可以,会起作用吗? 如果不行,只能写main.c中的话,中断程序又涉及到其他c文件的变量,如何处理,好乱啊。。头大

首先可以肯定,中断服务函数可以写在其他文件中,并不一定要放在main.c中。
中断服务函数如果有特定的关键字修饰,比如keil c51用interrupt,不仅可以放在任意文件中,甚至可以用static 把中断函数定义成局部的函数都没问题。
其他的,一般需要自己定义入口调用,比如某系统的定时中断入口放在0x0008地址,则在0x0008地址放一条长跳转指令,或者直接把函数的地址放在0x0008地址,这个根据系统不同,可能有不同的要求。
另外,有的c把引导程序会有一个默认的中断服务地址表,用户只需要根据系统的要求,按照一定的格式、名称定义好中断服务程序,系统就会自动调用。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-04
中断程序 就是一个 函数 放在哪里都可以 只要声明好 只有 一个有且只有一个 main函数 没有什么main.c文件 c文件可以是任何名
第2个回答  2014-10-03
搞乱
相似回答