快捷搜索:  汽车  科技

嵌入式软件开发面试常见问题(嵌入式开发秋招面试题)

嵌入式软件开发面试常见问题(嵌入式开发秋招面试题)总线的初始化、启动信号、应答信号、停止信号、写一个字节、读一个字节。单片机在模拟I2C通信时,需要写出如下关键的程序:Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。②请问51单片机如何模拟I2C总线通信?单片机模拟I2C总线通信,因为许多单片机没有I2C总线接口,如51单片机,但可以在单片机应用系统中通过软件模拟I2C总线的工作时序,在使用时,只需要正确调用各个函数就能方便地扩展I2C总线接口器件。

根据以往的嵌入式开发秋招面试经历,为大家整理了一些面试经常会遇到的题目,希望这些干货对大家面试有所帮助。干货直接码起!

嵌入式软件开发面试常见问题(嵌入式开发秋招面试题)(1)

①请简述嵌入式系统硬件层的组成?

硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。

嵌入式核心模块=微处理器+电源电路+时钟电路+存储器

Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。

②请问51单片机如何模拟I2C总线通信?

单片机模拟I2C总线通信,因为许多单片机没有I2C总线接口,如51单片机,但可以在单片机应用系统中通过软件模拟I2C总线的工作时序,在使用时,只需要正确调用各个函数就能方便地扩展I2C总线接口器件。

单片机在模拟I2C通信时,需要写出如下关键的程序:

总线的初始化、启动信号、应答信号、停止信号、写一个字节、读一个字节。

可能很多人不知道嵌入式物联网要学什么……我来分享一波吧。也是我看了很多人的解读,自己整理的。当时小美老师的分享看的最多,感兴趣的也可以看一看:

HTTPS://www.bilibili.com/video/BV1uu411U7ni?share_source=copy_web

要是不想费劲自己去搜索整理资料的话,也可以直接加我分享你我整理好的,无偿。一键三连后来领取哈。

点击这里找小助理0元领取:嵌入式物联网学习资料(头条)

嵌入式软件开发面试常见问题(嵌入式开发秋招面试题)(2)

③请用宏定义写出swap(x,y)函数。

#define swap(x y)\

x = x y;\

y = x - y;\

x = x - y;

④从在浏览器地址栏中输入http://www.baidu.com到看到百度首页,都涉及到哪些网络协议?

TCP/IP五层模型中网络层及以上用到的协议:

1.应用层:HTTP、DNS、HTTPS

2.传输层:TCP、UDP

3.网络层:IP、ARP

题外话:这里突然意识到,知道C和C 的区别其实也挺重要的,别被乱填充内容的公众号内容给坑了!实际的嵌入式开发里,底层,百分之九十五以上都是用C的,极少数C 、rust等。

补充那么几个没提到的东西:

sizeof(char *)或者其他什么*的大小,基础过关应该都知道32位机器上是4,51项目上面跑是1,这里注意一下不要自作聪明觉得64位机器肯定是8,要看编译器的。

让你写出来一个类似于(*(void(*fun)(void))0)()的东西的含义,个人感觉挺NT的。。不过嵌入式C编程对回调函数也就是函数指针有考察,我还真遇到过。

汇编,现在应该不会考查得很难,我遇到过两次,一次是一个做51的小厂商让我用汇编写一个延时入口(基本白送),一次是linux岗位让我分析一段代码作用,一般来说难度都很低,不会为难你。还是了解一些基础吧,毕竟这种东西的开发经历,真的不可强求,我个人不建议深钻。

volatile关键词和const能不能同时修饰同一个变量?这个问题我印象很深,不明所以。。。反正就是可以,完全没有看懂这俩会有啥冲突-_-||

位操作相关,具体的题目记不太清了,大概就是让你强行手撸二进制的感觉,细心点都没啥问题。

猜您喜欢: