您的当前位置:首页正文

赛科嵌入式驱动笔试

来源:个人技术集锦


1

Typedef enum

{

RTOS_OK,

RTOS_FAIL,

RTOS_ALREADY_INITIALISED=5,

RTOS_ALREADY_CLOSED,

RTOS_NOT_INITIALISED,

RTOS_INVALID_PAPAM

} RTOS_RESULT_CODE;

RTOS_FAIL=____;

RTOS_ALREADY_CLOSED=___;

2

Struct test{

Unsigned char bnum;

Void *wvar;

Union{

Unsigned char *wvar;

Struct test *prev;

Struct test *next;

} list;

}table;

Void (*func)(void *param);

};

以字节对齐32位系统中,sizeof(struct test)=___;

3

Typedef struct{

Temp[9];

} test;

字节对齐的系统 sizeof(test)=____;

半字对齐的系统 sizeof(test)=____;

字对齐的系统 sizeof(test)=____;

4

Main()

{

Char *a=”hello,world”;

Printf(“%s\\n”,a+b);

Printf(“%s\\n”,a+=b);

Return;

}

打印结果:_____ _______;

5

#define offsetof(TYPE.MEMBER) ((unsigned int)&((TYPE *)0)->MEMBER)

Struct test{

Unsigned char num1;

Unsigned char num2;

Unsigned int num3;

Unsigned int num4;

} temp;

Main()

{

Printf(“%d\\n”,offsetof((struct test),num4);

}

6

Unsigned char func(unsigned char a,unsigned char b)

{

Unsigned char num1[]={0,1,2,3,4,5};

Unsigned char num2[]={6,7,8,9,10,11};

If((a>5)||(b>5))

Return(1);

Printf(“%d\\n”,((a>b)?num2:num1)[(a>b)?a:b]);

Return 0;

}

7

Main()

{

Unsigned char variable=0;

Variable=2

{

Unsigned char variable=0;

Variable+=1;

Printf(“%d\\n”,variable);

}

Variable+=1;

Printf(“%d\\n”,variable);

}

两次打印的结果:_____ ______

8

Unsigned char func(unsigned char num)

{

Unsigned char I,len=0;

Static unsigned int sum=0;

Len=num;

For(i=0;iSum+=num;

Num--;

}

Return (sum);

}

Main()

{

Printf(“%d\\n”,func(3));

Printf(“%d\\n”,func(2));

}

两次打印的结果___ _____

9

#define TEST(a,b,c) a-=b;a-=c;

Main()

{

Int I;

Int num1,num2,num3;

Num1=10;num2=2;num3=1;

For(i=0;i<2;i++)

TEST(num1,num2,num3);

Printf(“%d\\n”,num1);

}

打印的结果:_____

10 设置一个串口的通信波特率为9600,起始位与停止位各占1位,偶校验,传输300个字节需要的时间是_____

11 一16位处理器,设计一个程序实现32位数减去一个16位数,被减数的高16位存放在寄存器A中,低16位存放在寄存器B中,减数存放在寄存器C中,请将结果的高位和地位分别放入E,F中。

因篇幅问题不能全部显示,请点此查看更多更全内容