关于模块中断函数的问题

2019-07-15 22:32发布

为了程序更好的移植。
我现在把各种硬件功能模块化,遇到一个问题模块中的中断问题。
我简单描述一下。

假如我现在要模块话51单片机串口功能。
uart.h中放置外部接口函数声明和硬件相关参数
uart.c中有这几项功能
uart发送字符函数 uart_send_char(char char_data);
uart发送字符串函数uart_send_str(char *str_data);
uart接收字符函数char uart_receive_char();
uart接收字符串函数char uart_receive_str(char *temp_receive_data,char receive_num);
其中uart工作在方式1,并使用到了串口中断函数(主要是接收部分的处理)void timer1(void) interrupt 4.

我现在在主函数中测试接口功能,请问这中断函数void timer1(void) interrupt 4是否要在uart.h中声明,加入需要,主函数中怎么引用中断函数。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
Ztudou_2012
1楼-- · 2019-07-16 01:20
自己先顶一下,里面还有其他的初始化函数,功能函数,非接口函数,不写出来了
Ztudou_2012
2楼-- · 2019-07-16 05:39
居然没人顶                                    
3htech
3楼-- · 2019-07-16 06:01
中断ISR,不允许被别的函数调用。至于原因,你自己想想就知道。

所以,中断ISR不需要声明。

模块化并不代表你的模块的函数内部不能被修改。
Ztudou_2012
4楼-- · 2019-07-16 07:16
3htech 发表于 2013-9-12 10:55
中断ISR,不允许被别的函数调用。至于原因,你自己想想就知道。

所以,中断ISR不需要声明。

谢谢                       

一周热门 更多>