❶ 用 keil编译的时候有两个警告怎么回事
warning
l15:
multiple
call
to
segment
这个问题必须注意,可能引起程序冲突,假设你用于自动化领域,则可能导致信号产生尖峰。
产生这一警告的一个根源是:你在主循环里调用了一个函数(如aaa),而在中断服务函数里,你用调用了这个函数(如aaa)。这样当主循环运行到该函数中是,一旦产生中断,则在中断里又再次调用该函数!这时,很可能出错!
避免这种情况的方法很多:如,在进中断的时候置需调用该函数的标志,而在主循环中调用该函数
你可以在中断函数设置标志
flag_display
=
1;
在主函数里判断这个标志:
if(flag_display)
valuedisplay();
更新后,清除显示标志:
flag_display
=
0;
❷ Keil编译有警告程序还能烧录进单片机里吗
可以的。不过,有警告的话,意味着程序可能存在着一些问题,会导致在运行时不正常。
❸ 用keil编译显示警告,*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS 怎么回事啊急
这个警告应该是有某个函数从没有被调用,建议你看看具体的警告信息(信息中有函数名的),把那个函数注释掉,这样能节约内存和程序空间。
另外,再编译一次这个警告会消失,其实是keil优化配置的效果,配置不同,效果也不一样。