面试宝典:单片机嵌入式软件开发工程师面试题精选

前两天去面试,面试前有一个技术笔试,一共8道题,凭记忆总结列出,供各位参考。

(感兴趣的读者可以在评论区作答讨论,有的题目笔者也没答出来)

1. 有8只传感器A1~A8,每个传感器有4种状态,分别表示为0、1、2、3,编写程序将8只传感器的状态用一个32位无符号整形数据表示,并printf出来。

2. 下面程序输出结果是什么,为什么?

uint32_t i = 10;
int j = -10;
(i+j>0)?puts(">0"):puts("<=0");

3. 已知下列代码段

int A[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int *p = &A[5];

则p[5]为多少?

4. 已知设备采用大端模式,在0x8000处定义一个int型变量A,值为0x223344,填空。

地址 0x8000 0x8001 0x8002 0x8003
数据

5. 编写函数,函数功能为使程序跳转到0x8001000处执行。

6. 采用485通信,传输一个字节0x37占用11bit,采用偶校验,填空:

起始 数据 校验 结束
0 0

帧格式如下:

帧头1 帧头2 长度 数据 数据 数据 数据 数据 数据 校验
0xFF 0x55 1Byte 1Byte 1Byte 1Byte 1Byte 1Byte 1Byte 1Byte

如果每次接收数据时,一帧数据的前面总有几个多余的无效字节,编写程序完成数据过滤。

7. 已知MCU的内部ADC为6位精度,内部参考电压是1.6V,采用图示电路进行AD采样,MCU转换后的值为0x20,则A、B、C三点的电压分别是多少?

8. 采用50%占空比的方波进行超声波测距,频率为40kHz,则方波的脉宽是多少微秒?已知声音速度是340m/s,如果用超声波从发射到接收信号一共用了1ms,则障碍物距离为多少?如果在电路中采用一个三极管作为电子开关,将MCU引脚通过一个330Ω的电阻连到三极管的基极,此处电阻的作用是什么,如果不连电阻,直接将MCU引脚接到三极管的基极,会有什么影响?

作者:La Jiankai

物联沃分享整理
物联沃-IOTWORD物联网 » 面试宝典:单片机嵌入式软件开发工程师面试题精选

发表回复