单片机用keil编译的时候出现这个警告是什么意思啊?

*** WARNING L15: MULTIPLE CALL TO SEGMENT
SEGMENT: ?PR?RESPONS?蔩钟
CALLER1: ?C_C51STARTUP
CALLER2: ?PR?TIME0?蔩钟

第1个回答  2012-12-08
respons这个函数既被中断调用,也被主循环函数调用,因此有可能发生重入。追问

这样如果做出的东西可以用就没有影响吧?

追答

谁说没有影响?潜在的、尚不明显的bug,并不等同于没有bug。
当中断频繁发生、并且重入可能更改运行关键的参数时,你就能体会到有没有影响了。

正确的做法是单独建立一个功能相同的函数,专门给中断调用。例如新建一个Respons_int()函数,此函数内容与Respons()完全相同,但只有Timer0中断才调用它。

本回答被网友采纳
第2个回答  2012-12-07
RESPONS这个函数在多处被调用!
C51STARTUP
TIME0来自:求助得到的回答
第2个回答  2012-12-07
慢慢想想
相似回答