keil c51调试问题

keil怎么在主程序中调试包含中的文件
Target1
Source Group1
SRARTUP.51
162643.c
stdio.h
reg52.h>
intrins.h
hg192643.c//这是工程窗口中包含的文件,我已经包含进来了呀

当我进行调试时,当遇到hg192643.c中的子函数,单步执行时,光标不会自动跳到文件中去,而是在空白处上下走,请问有没有知道这是怎么回事
/**************************************************************************************************************************************/
#include "HG192643.c" /在这个位置包含192643。c文件,
/**************************************************************************************************************************************/

main()
{
P2=0xff;
init_chu();
delayms(100);
INT_1(); //调19264初始化子程序 ,问题:当调试到这个位置的时候,当单步调试时,光标一直在上面空格处来回 ,但寄存器的值是上面包含文件中的值,但
CLEAR(); //就是不跳到hg192643.c文件中去。INT_1(); CLEAR(); 这几个函数就是hg192643.c中。但调试光标跳不到该文件中去
pls=pulse_out();
clr_wdt();//
hz_display();
zm_display();
我之前,是用的HG19264。H这个文件,采用#include "HG192643.h"这种形式包含在和程序之前,但在调试时,还是同样的问题。

第1个回答  2010-06-25
不要用include 包含.c文件,结构混乱,不容易理解,不好调试。.h是接口,.c是具体实现。
把HG192643.c中的需要外部调用的函数或变量的声明,宏定义放到HG192643.h中,谁要用就通过#include "HG192643.h"调用。本回答被提问者采纳
第2个回答  2019-01-30
1.c语言中int/uint等整型默认初值为02.default:
break;
加不加没差别,因为这里的break只是跳出switch而不是while,这里等价于if(num==10){p1=0;}else
if(num==20){p1=255;}else{}中的else{},也就是有没有一个样
相似回答
大家正在搜