嵌入式工程师笔试试卷及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式工程师笔试试卷及答案

在嵌入式系统领域,嵌入式工程师是一种非常重要的职业。他们需要掌握硬件和软件技能,以及在资源受限的环境下进行开发的技能。本试卷旨在测试嵌入式工程师的专业知识和技能。

第一部分:选择题

这一部分包括5个选择题,每个问题有4个选项,只有一个选项是正确的。这部分的目的是测试对嵌入式系统的基础知识的掌握。

下列哪个不是嵌入式系统的特点?

A. 硬件资源受限

B. 实时性要求高

C. 软件开发成本低

D. 系统可靠性要求高

答案:C

下列哪个不是嵌入式系统中常用的总线标准?

A. USB

B. I2C

C. RS232

D. HDMI

答案:D

下列哪个不是C语言的关键字?

A. switch

B. case

C. class

D. break

答案:C

下列哪个不是常用的编译器?

A. GCC

B. Keil

C. IAR

D. Visual Studio

答案:D

下列哪个不是常用的调试工具?

A. JTAG

B. GDB

C. SVN

D. Trace32

答案:C

第二部分:简答题

这一部分包括2个简答题,每个问题需要回答2-3个句子。这部分的目的是测试对嵌入式系统的基本原理和通信协议的理解。

什么是中断?中断的作用是什么?

答:中断是指在CPU运行程序的过程中,由于某些事件的发生,需要立即暂停当前程序的执行,转而去执行另一段代码的一种机制。中断的作用是提高CPU 的利用率,增强系统的实时性和可靠性,实现CPU与外设的异步通信。

请简述I2C总线的工作原理。

答:I2C总线是一种串行通信协议,通过两根线SCL和SDA实现设备间的通信。SCL线是时钟线,由主设备控制;SDA线是数据线,用于主设备和从设备之间的数据传输。在传输数据时,主设备先发送起始信号,然后发送从设备地址和读/写标志,接着发送数据或者请求数据,最后发送停止信号。从设备在接收到起始信号后,会根据地址来判断是否需要响应主设备的请求。

第三部分:编程题

这一部分包括2个编程题,需要在规定的环境下编写代码。这部分的目的是测试对嵌入式系统的编程能力。

请用C语言实现一个计算阶乘的函数。

unsigned int factorial(unsigned int n)

{

if(n == 0)

return 1;

else

return n * factorial(n-1);

}

请用C语言实现一个冒泡排序的函数,对数组int arr[10]进行升序排序。

void bubbleSort(int arr[], int n)

{

int i, j, temp;

for(i = 0; i < n-1; i++)

{

for(j = 0; j < n-i-1; j++)

{

if(arr[j] > arr[j+1])

{

temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

}

}

int main()

{

int arr[10] = {3, 5, 1, 6, 8, 2, 4, 7, 9, 0}; int i;

bubbleSort(arr, 10);

for(i = 0; i < 10; i++)

printf("%d ", arr[i]);

return 0;

}

相关文档
最新文档