lium 发表于 2022-8-5 22:44

L15 多次调用段

大家看看经常出现的C51链接警告“L15 多次调用段”的问题。

程序中出现如下链接警告

*** WARNING L15: MULTIPLE CALL TO SEGMENT
SEGMENT: ?PR?_PAPOWEROUTPUT?PAPOWERCONTROL
CALLER1: ?PR?UART0_ISR?UART
CALLER2: ?C_C51STARTUP

从警告靠看是在 中断函数UART0_ISR和?C_C51STARTUP中多次调用了如下函数
void PAPowerOutput( unsigned char RFPwrB);

lium 发表于 2022-8-5 22:46

仔细查看了中断函数UART0_ISR其中并没有调用PAPowerOutput,这是什么原因呢?又该如何处理?

juventus9554 发表于 2022-8-5 22:48

同一个函数被你在中断服务程序和主程序中调用了。

xxrs 发表于 2022-8-5 22:51

函数不重入引起

chenjunt 发表于 2022-8-5 22:54

2楼说的对

jiajs 发表于 2022-8-5 22:59

定义了没有调用?

lium 发表于 2022-8-6 10:53

哦,原来如此

tpgf 发表于 2022-9-4 16:08

这种情况下的警告可以忽略吗

nawu 发表于 2022-9-4 16:17

估计是还有在其他地方调用了这个函数了

aoyi 发表于 2022-9-4 16:42

楼主能经常看到这种报错吗

zljiu 发表于 2022-9-4 16:51

在哪里能看到在主程序中也调用了啊

gwsan 发表于 2022-9-4 16:59

这种调用会出现竞争现象的

tfqi 发表于 2022-9-4 17:07

整个工程查重一下

OKAKAKO 发表于 2022-12-3 13:01

整体查一下所有调用吧,估计是调用出问题了
页: [1]
查看完整版本: L15 多次调用段