下面的代码使用了

您所在的位置:网站首页 areax 下面的代码使用了

下面的代码使用了

#下面的代码使用了| 来源: 网络整理| 查看: 265

__interrupt double compute_area (double radius) {     double area = PI * radius * radius;     printf("\nArea = %f", area);     return area; } 答:这个函数有如下的错误: 1) ISR 不能返回一个值。 2) ISR 不能传递参数。 3) 在许多的处理器/编译器中,浮点一般都是不可重入的。有些处理器/编译器需要让额处的寄存器入栈,有些处理器/编译器就是不允许在ISR中做浮点运算。此外,ISR应该是短而有效率的,在ISR中做浮点运算是不明智的。 4) 与第三点一脉相承,printf()经常有重入和性能上的问题。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3