首页 > 代码库 > 嵌入式编程 中断 一题

嵌入式编程 中断 一题

Interrupts are an important part of embedded systems. Consequently, many compiler vendors offer an extension

to standard C to support interrupts. Typically, the keyword is _interrupt. The following routine(ISR), point out

the errors in the code.

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

 

析:

1)ISR不能返回一个值
2)ISR不能传递参数
3)在许多处理器或编译器中,浮点一般都是不可重入的,此外,ISR应是短而有效率的,在ISR中做浮点去处是不明智的
4)printf()经常有重入和性能上的问题,所以一般不使用printf()

嵌入式编程 中断 一题