每日一题(48)—— 中断


    中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展让标准C支持中断。具代表事实是,产生了一个新的关键字 __interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。

__interrupt double compute_area(double radius)
{
	double area = pi*radius*radius;
	printf(“\narea = %f”,area);
	return area;
}







(1) ISR是不能有返回值。

(2) ISR不能传递参数。

(3) 在许多的处理器/编译器中,浮点一般都是不可重入的。ISR一般是短而有效的,在ISR中做浮点运算时不明智的。

(4) printf() 函数有重入和性能上的问题。







猜你喜欢

转载自blog.csdn.net/a1314521531/article/details/77036418