*** WARNING L15: MULTIPLE CALL TO FUNCTION
在main程序的主循环中调用了液晶显示函数,由于要实现某些超标数据的闪烁,又不想使用延时来实现,因为这样会一直占用单片机,所以用定时器中断来实现,在中断中调用闪烁函数,此函数与液晶显示函数又都调用了同一数据处理函数,keil编译时就出现了WARNING L15: MULTIPLE CALL TO FUNCTION 这样的警告。
设置一个标志,在液晶显示函数的入口处清0此标志,出口处置1此标志,然后在闪烁函数中判断此标志,标志为1才可以执行闪烁函数的函数体。
引用“
这个问题必须注意,可能引起程序冲突,假设你用于自动化领域,则可能导致信号产生尖峰。 产生这一警告的一个根源是:你在主循环里调用了一个函数(如aaa),而在中断服务函数里,你用调用了这个函数(如aaa)。这样当主循环运行到该函数中是,一旦产生中断,则在中断里又再次调用该函数!这时,很可能出错! 避免这种情况的方法很多:如,在进中断的时候置需调用该函数的标志,而在主循环中调用该函数.”
s8269_795361003 2014-6-6 19:09