如题所述
第1个回答 2016-04-05
首先可以肯定,中断服务函数可以写在其他文件中,并不一定要放在main.c中。
中断服务函数如果有特定的关键字修饰,比如keil c51用interrupt,不仅可以放在任意文件中,甚至可以用static 把中断函数定义成局部的函数都没问题。
其他的,一般需要自己定义入口调用,比如某系统的定时中断入口放在0x0008地址,则在0x0008地址放一条长跳转指令,或者直接把函数的地址放在0x0008地址,这个根据系统不同,可能有不同的要求。
另外,有的c把引导程序会有一个默认的中断服务地址表,用户只需要根据系统的要求,按照一定的格式、名称定义好中断服务程序,系统就会自动调用。本回答被网友采纳
中断服务函数如果有特定的关键字修饰,比如keil c51用interrupt,不仅可以放在任意文件中,甚至可以用static 把中断函数定义成局部的函数都没问题。
其他的,一般需要自己定义入口调用,比如某系统的定时中断入口放在0x0008地址,则在0x0008地址放一条长跳转指令,或者直接把函数的地址放在0x0008地址,这个根据系统不同,可能有不同的要求。
另外,有的c把引导程序会有一个默认的中断服务地址表,用户只需要根据系统的要求,按照一定的格式、名称定义好中断服务程序,系统就会自动调用。本回答被网友采纳