题目
第2题
试题四(共15分)
阅读下列说明和表,回答问题1至问题2,将解答填入答题纸的对应栏内。
【说明】
看门狗(Watchdog)技术是嵌入式系统设计中保证系统可靠的常用技术。嵌入式控制系统运行时由于受到外部干扰或者内部系统错误,程序有时会出现“跑飞”现象,导致整个系统瘫痪。为了防止这一现象的发生,对系统可靠性要求较高的场合往往要加入看门狗电路。当系统“跑飞”时,看门狗电路能自动恢复系统的运行。
【问题1】(8分)
设某嵌入式系统程序完整运行所需的周期时间是tp,看门狗的定时周期为tw,要求tw(1)tp,在程序运行过程中需要定时(2)(俗称“喂狗”),只要程序正常运行,定时器就不会溢出。若由于干扰等原因使系统不能在tp时刻修改定时器的计数值,定时器将在tw时刻(3),引发(4),使系统得以重新运行。
请填充以上叙述中空缺处的内容,将答案填写在答题纸的对应栏中。
【问题2】(7分)
张工在某嵌入式系统中设计实现了看门狗电路,采用的芯片寄存器如表4-1、表4-2、表4-3、表4-4所示。
王工编写了以下程序代码,实现看门狗电路的初始化。请仔细阅读每行代码,然后回答问题。
define PCLK 10000000 //第1行
define rWTCON (*(volatile unsigned int*)0x53000000) //第2行
define rWTDAT (*(volatile unsigned int*)0x53000004) //第3行
define rWTCNT (*(volatile unsigned int*)0x53000008) //第4行
void watchdog_test(void) //第5行
{ //第6行
rWTCON =((PCLK/1000000-1)<<8) | (3<<3) | (1<<2); //第7行
rWTDAT =7812; //第8行
rWTCNT =7812; //第9行
rWTCON |=(1<<5); //第10行
}
请将以下问题的答案写在答题纸的对应栏中。
(1)在程序的第2、3、4行,分别使用了volatile关键字,请说明该关键字的作用。
(2)在程序的第7行,实现了对看门狗的三个功能设置,除了设置预装比例值外,其它两个功能分别是什么?
(3)在程序的第10行,实现了对看门狗的哪个功能设置?
(4)该系统结构采用的编址方式是什么?
(5)该系统的位序是大端方式还是小端方式?
第3题
阅读下面程序该程序要求打印5行”祝你成功!¨,必须改正程序中的某行代码,程序才能完成。选择正确的修改是()。
A.将第1行的extendsThread改为implementsRunnable
B.将第3行的newTry()改为newThread()
C.将第4行t.start()改为start(t)
D.将第7行的public void run(intj)改为public void run()
第4题
阅读下面程序 1public class Try extends Thread{ 2public static void main(String args[]){ 3Tryt=new Try(); 4t.start(); 5} 6 7publicvoidrun(intj){ 8inti=0; 9while(i<5){ 10System.out.println("祝你成功!"); 11 i++; 12} 13} 14} 该程序要求打印5行“祝你成功!”,必须改正程序中的某行代码,程序才能完成。选择正确的修改是()。
A.将第1行的extendsThread改为implementsRunnable
B.将第3行的newTry()改为newThread()
C.将第4行t.start()改为start(t)
D.将第7行的publicvoidmn(intj)改为publicVoidmn()
第5题
阅读下面程序 1 public class Try extends Thread{ 2 public static void main(String args[]){ 3 Try t=new Try(); 4 t.start(); 5 } 6 7 public void run(int j){ 8 int i=0; 9 while(i<5){ 10 System.out.println(“祝你成功!”); 11 i++; 12 } 13 } 14 } 该程序要求打印5行“祝你成功!”,必须改正程序中的某行代码,程序才能完成。选择正确的修改是
A.将第1行的extends Thread改为implements Runnable
B.将第3行的new Try()改为new Thread()
C.将第4行t.start()改为start(t)
D.将第7行的public void run(int j)改为public void run()
第6题
阅读下面程序 1 public class Try extends Thread{ 2 public static void main(String args[]){ 3 Try t=new Try(); 4 t.start(); 5 } 6 7 public void run(int j){ 8 int i=0; 9 while(i<5){ 10 System.out.println(“祝你成功!”); 11 i++; 12 } 13 } 14 } 该程序要求打印5行“祝你成功!”,必须改正程序中的某行代码,程序才能完成。选择正确的修改是
A.将第1行的extends Thread改为implements Runnable
B.将第3行的new Try()改为new Thread()
C.将第4行t.start()改为start(t)
D.将第7行的public void run(int j)改为public void run()
第7题
阅读下面程序 1 public class Try extends Thread { 2 public static void main(String args[]) { 3 Try t=new Try(); 4 t.start(); 5 } 6 7 public void run(int j) { 8 int i=0; 9 while(i<5) { 10 System.out.println("祝你成功!"); 11 i++: 12 } 13 } 14 } 该程序若能打印5行“祝你成功!”,必须改正程序中的某行代码,选择正确的修改是
A.将第1行的extends Thread改为implements Runnable
B.将第3行的new Try()改为new Thread()
C.将第4行的t.start()改为start(t)
D.将第7行的public void run(int j)改为public void run()
第8题
A.第4行: return 1 第5行: return n*Fact(n-1)
B.第4行: return 0 第5行: return n*Fact(n-1)
C.第4行: return -1 第5行: return (n-1)*Fact(n)
D.第4行: return 1 第5行: return Fact(n-1)
第9题
若有以下程序 include<stdio.h> main(){ inta=0,b=0,c=0,d; c=(a+=b,,b+=a);/*第4行*/ d=c;;/*第5行*/ ;/*第6行*/ printf(%d,%d,%d\n,a,b,c);/*第7行*/ } 编译时出现错误,你认为出错的是
A.第4行
B.第5行
C.第6行
D.第7行
第11题
阅读下面程序 1 public class Try extends Thread{ 2 public static void main(String args[]){ 3Try t=new Try; 4 t.start; 5} 6 7 public void run(intj){ 8 inti=0; 9 while(i<5){ 10 System.out.println("祝你成功!"); 11 i++: 12} 13} 14} 该程序要求打印5行"祝你成功!",必须改正程序中的某行代码,程序才能完成。选择正确的修改是()。
A.将第1行的extendsThread改为implementsRunnable
B.将第3行的newTry改为newThread
C.将第4行t.start改为start(t)
D.将第7行的public void run(intj)改为public void run
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!