请看下面的程序(一个中断服务子程序ISR),请指出这段代码
的错误。)[中国台湾某著名CPU生产公司2005年面试题]

一个中断服务子程序ISR

答案:
(1)ISR不能返回一个值。如果你不懂这个,那么是不会被雇用的。
(2)ISR不能传递参数。如果你没有看到这一点,被雇用的机会等同第一项。
(3)在许多处理器/编译器中,浮点一般都是不可重入的。有些处理器/编译器需要
让额外的寄存器入栈,有些处理器/编译器就不允许在ISR中做浮点运算。此外,ISR应该是
短而有效率的,在ISR中做浮点运算是不明智的。
(4)与第三点一脉相承,printf()经常有重入和性能上的问题,所以一般不使用
printf()。

相关文章:

  • 2022-02-08
  • 2022-02-10
  • 2021-05-30
  • 2022-12-23
  • 2021-10-18
  • 2021-10-29
  • 2021-09-19
  • 2021-08-31
猜你喜欢
  • 2021-06-30
  • 2022-12-23
  • 2022-12-23
  • 2022-01-02
  • 2021-08-17
  • 2022-12-23
  • 2021-08-10
相关资源
相似解决方案