这基于mc9s12xs128的 PORTK_PK4 DDRK_DDRK4这两个表示什么啊 最好能讲下这个简单程序 十分感谢!
答案:1 悬赏:80 手机版
解决时间 2021-11-13 08:19
- 提问者网友:谁的错
- 2021-11-12 17:12
这基于mc9s12xs128的 PORTK_PK4 DDRK_DDRK4这两个表示什么啊 最好能讲下这个简单程序 十分感谢!
最佳答案
- 五星知识达人网友:长青诗
- 2021-11-12 18:01
回答求助:
从代码看,PORTK_PK4和DDRK_DDRK4是两个变量,似乎可以控制CPU的某些功能(这是按代码中的语句猜的)。在你的代码中被#define LEDCPU PORTK_PK4和#define LEDCPU_dir DDRK_DDRK4两句分别定义成了LEDCPU和LEDCPU_dir。就是说你的代码中凡是写LEDCPU和LEDCPU_dir的地方,编译时都会被编译器对应换成PORTK_PK4和DDRK_DDRK4。这叫宏定义,在你这段代码中看不出多大意义,但如果把一个常数宏定义成一个符号,那以后改这个数字就十分方便了……
代码注释如下:
void main(void) {
DisableInterrupts;//关闭中断
LEDCPU_dir = 1;//给LEDCPU_dir赋值1,实际就是给DDRK_DDRK4赋值1
LEDCPU = 1; //给LEDCPU赋值1,实际就是给PORTK_PK4赋值1
EnableInterrupts;//打开中断
for(k=0;k<5;k++) {
delay(); //调用延时程序delay()延时一段时间
LEDCPU = 0;//给LEDCPU重新赋值0即给PORTK_PK4赋值0
delay(); //再调用延时程序delay()延时一段时间
LEDCPU = 1;//给LEDCPU重新赋值1即给PORTK_PK4赋值1
}
for(;;);//无休止循环
}
从代码看可能是一个单片机控制显示之类的程序段。
只是从代码猜到的情况,可能会使你失望……来自:求助得到的回答
从代码看,PORTK_PK4和DDRK_DDRK4是两个变量,似乎可以控制CPU的某些功能(这是按代码中的语句猜的)。在你的代码中被#define LEDCPU PORTK_PK4和#define LEDCPU_dir DDRK_DDRK4两句分别定义成了LEDCPU和LEDCPU_dir。就是说你的代码中凡是写LEDCPU和LEDCPU_dir的地方,编译时都会被编译器对应换成PORTK_PK4和DDRK_DDRK4。这叫宏定义,在你这段代码中看不出多大意义,但如果把一个常数宏定义成一个符号,那以后改这个数字就十分方便了……
代码注释如下:
void main(void) {
DisableInterrupts;//关闭中断
LEDCPU_dir = 1;//给LEDCPU_dir赋值1,实际就是给DDRK_DDRK4赋值1
LEDCPU = 1; //给LEDCPU赋值1,实际就是给PORTK_PK4赋值1
EnableInterrupts;//打开中断
for(k=0;k<5;k++) {
delay(); //调用延时程序delay()延时一段时间
LEDCPU = 0;//给LEDCPU重新赋值0即给PORTK_PK4赋值0
delay(); //再调用延时程序delay()延时一段时间
LEDCPU = 1;//给LEDCPU重新赋值1即给PORTK_PK4赋值1
}
for(;;);//无休止循环
}
从代码看可能是一个单片机控制显示之类的程序段。
只是从代码猜到的情况,可能会使你失望……来自:求助得到的回答
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯