中断服务子程序

本文探讨了中断在嵌入式系统中的重要性,特别是中断服务子程序(ISR)的使用。ISR不应返回值或传递参数,且通常不应包含浮点运算或长时间运行的任务。重点强调ISR应短小高效,可以设置标志位并在主程序中处理复杂计算。中断过程包括请求、屏蔽、响应、保护现场、调查中断源、处理、清除标志、恢复现场和返回。理解这些原则对于优化嵌入式系统的中断响应至关重要。
摘要由CSDN通过智能技术生成

中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展—让标准C支持中断。

具代表事实是,产生了一个新的关键字 __interrupt。

下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。


 

__interrupt double compute_area (double radius) 
{
    double area = PI * radius * radius;
    printf("\nArea = %f", area);
    return area;
}



 

这个函数有太多的错误了,以至让人不知从何说起了:

1)  ISR 不能返回一个值。如果你不懂这个,那么你不会被雇用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值