我是靠谱客的博主 暴躁红牛,这篇文章主要介绍__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的错误。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的错误。答案:,现在分享给大家,希望可以做个参考。
下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的错误。
__interrupt double compute_area (double radius)
{
double area = PI * radius * radius;
printf(" Area = %f", area);
return area;
}
答案:
1、ISR不能有返回值,必须用void;
2、ISR不能传递参数,必须用void;
3、ISR应该是短而高效的,在许多的处理器/编译器中,浮点一般都是不可重入的。所以不推荐在ISR中做浮点运算,应该只由中断发出消息或置位标志然后由应用层去处理其他工作 。
4、ISR中不应该有重入和性能上的问题,因此使用pintf()函数也是不好的。
最后
以上就是暴躁红牛最近收集整理的关于__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的错误。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的错误。答案:的全部内容,更多相关__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复