单片机面试中可能出现的问题

1、你在的上家公司主要做什么的,主营产品?
答:上家公司主要做互联网之类的产品(最好是根据你写的公司然后根据你做的项目去说一点)
主营产品(这里是个坑,特别注意,你做的项目的研发时间,别上来你刚做的项目就开始投入量产这个估计连你自己都不信把!)可以说个几项特别出名的。
2、你在上一家公司主要负责什么?
答:这个大概就可以万能的套用,我在上家公司主要是负责项目的环境搭建,负责一些传感器的外围搭建以及通信协议的底层配置,还会参与项目编程、调试以及模块测试,并且还有代码的编写和调试以及验证功能是否实现。
3、C语言和C++都开发过项目吗?代码量有多少?
答:就按你简历所写的项目去说就好(个人感觉还可以说一点关于自己平时做的小项目),项目代码量不能太少也不能太多基本就是(3-5W行)这个基本就可以。
4、系统、驱动、单片机开发,你在上一家主要负责哪一块?
答:这个主要就是说关于你想做的方面单片机还是系统(当然你不可能这个公司主要做的系统的,你要说你是单片机做的怎样,这就属于无中生有),然后可以说说参与项目时大概做的都是文档编写、环境搭建之类的。
5、都用过哪些单片机? 单片机的特点?
答:常用单片机的型号有8 位单片机、16位单片机、32位单片机。
①、8 位单片机
这类单片机的控制功能较强,品种最为齐全,由于其片内资源丰富和功能强大,主要在工业控制、智能仪表、家用电器和办公自动化系统中应用。

②、16位单片机
CPU是16 位的,运算速度普遍高于8 位机,有的单片机的寻址能力高达1MB,片内含有A/D 和D/A转换电路,支持高级语言。

③、32位单片机
32位单片机的字长为32位,是单片机的顶级产品,具有极高的运算速度。代表产品有Intel公司的MCS-80960系列、Motorola公司的M68300系列、Hitachi公司的Super H(简称SH)系列等。
单片机的特点:
①、低功耗3种低功耗模式
休眠,停止,待机模式。为RTC和备份寄存器供电的VBAT。

②、调试模式
串行调试(SWD)和JTAG接口。

③、DMA
12通道DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC和UART。3个12位的us级的A/D转换器(16通道)

④、A/D测量范围
0-3.6V。双采样和保持能力。片道上集成一个温度传感器。

6、描述UART和485接口的异同?
答:数据传输可以通过两种方式:串行通信和并行通信。 简单理解: 串行:一条数据线,一位一位依次传输,适用远距离; 并行:多条数据线,各个位同时传输,适用短距离。

485通讯与串口通讯没有区别。485通讯就是串口通讯中的一种,485通讯和串口通讯是“属于”关系。
通讯需要电源线+AB信号线共4根线,信号线需要用屏蔽双绞线,最远传输距离一千米左右,在实际施工布线中有其局限性。
UART是指外设和计算机间,通过数据信号线 、地线、控制线等。
7、SPI接口的物理引脚、模式、以及如何确定单片机使用哪一种SPI的模式?
答:SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时),这四根线分别是MISO、MOSI、SCLK、CS。

SPI通信有4种不同的模式,不同的从设备可能在出厂是就是配置为某种模式,这是不能改变的,但我们的通信双方必须是工作在同一模式下,所以我们可以对我们的主设备的SPI模式进行配置,通过CPOL(时钟极性)和CPHA(时钟相位)来控制我们主设备的通信模式。
时钟极性CPOL是用来配置SCLK的电平出于哪种状态时是空闲态或者有效态,时钟相位CPHA是用来配置数据采样是在第几个边沿:

CPOL=0,表示当SCLK=0时处于空闲态,所以有效状态就是SCLK处于高电平时;

CPOL=1,表示当SCLK=1时处于空闲态,所以有效状态就是SCLK处于低电平时;

CPHA=0,表示数据采样是在第1个边沿,数据发送在第2个边沿;

CPHA=1,表示数据采样是在第2个边沿,数据发送在第1个边沿。

在高电平有效状态时,第一边沿为上升沿,第二边沿为下降沿;在低电平有效状态时,第一边沿为下降沿,第二边沿为上升沿。
SPI通信协议(知乎)
8、模拟SPI和硬件SPI的区别是什么?
答:硬件 SPI是芯片的外设功能,而模拟的SPI是用GPIO实现的
硬件SPI因为有专用的寄存器支持,所以很少占用CPU资源,但是并不是每一款处理器都能提供SPI,而且有时候即使有SPI硬件接口,可能因为数量不够或者管脚被占用,导致硬件SPI不能使用,这时候就可以使用GPIO模拟SPI通讯,这样的好处是可以使用任意GPIO管脚实现SPI通讯,并且代码通用性很强,可以在不同处理器甚至不同架构之间移植,比较方便。
9、MODBUS的协议帧格式?通信模式有几种?
答:MODBUS通信模式最主要有三种:RTU模式,ASCII模式和TCP模式。
Modbus TCP基于以太网和TCP/IP协议,Modbus RTU和Modbus ASCII则是使用异步串行传输(通常是RS-232/422/485)。
RTU模式:地址+功能+数据+校验
ASCII模式:起始 +地址码+功能码+数据+校验+回车换行
注意(RTU使用CRC校验,ASCII使用LRC校验。)
ModbusTCP的数据帧可分为两部分:MBAP+PDU
MBAP为报文头,长度为7字节:事务处理标识+协议标识+长度+单元标识符(1)
10、MQTT协议基本数据帧包含哪些数据?MQTT的通信过程?Topic的作用?
答:了解下MQTT做啥的:MQ 遥测传输 (MQTT) 是一种基于代理的轻量级发布/订阅消息传递协议,旨在开放、简单、轻量级且易于实现。
固定头部+可变头部+消息体
协议说白了就是对于双方通信的一个约定,比如传过来一段字符流,第1个字节表示什么,第2个字节表示什么。。。。一个约定。
MQTT学习与数据帧理解:https://www.cnblogs.com/haili-zheng/p/13841603.html
 MQTT协议需要客户端和服务器端通讯完成,在通讯的过程中,MQTT的协议有三中身份:发布者(pubulish)、代理(broker)(服务器)、订阅者(subscribe)
其中消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。 
MQTT传输协议的消息分为:主题(topic)和负载(payload)两部分:
(1)topic:主题可以理解为消息的类型(比如想要数据变化上送),订阅者订阅后,就会收到该主题的消息内容(payload)
(2)payload:消息的内容,指订阅者具体要使用的内容。
协议地址:http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html
11、FreeRTOS内核是如何管理的任务?任务之间的通信有哪些?项目中如何分配任务空间大小?什么情况下使用?
答:关于FreeRTOS就要考虑裸机和实时系统的区别。
裸机:早期嵌入式开发没有嵌入式操作系统的概念 ,直接操作裸机,在裸机上写程序,比如用51单片机基本就没有操作系统的概念。通常把程序设计为前后台系统,主要分为两部分:前台系统和后台系统。这样的程序包括一个死循环和若干个中断服务程序(应用程序是一个无限循环,循环中调用API函数完成所需的操作,这个大循环就叫做后台系统;中断服务程序用于处理系统的异步事件,也就是前台系统),前台是中断级,后台是任务级。

RTOS:RTOS全称为:Real Time OS,就是实时操作系统,强调的是:实时性。在实时操作系统中,我们可以把要实现的功能划分为多个任务,每个任务负责实现其中的一部分,每个任务都是一个很简单的程序,通常是一个死循环。 RTOS操作系统:FreeRTOS,UCOS,RTX,RT-Thread,DJYOS等。 RTOS操作系统的核心内容在于:实时内核。

分时操作系统:一台计算机采用时间片轮转的方式同时为几个、几十个甚至几百个用户服务的一种操作系统,如:UNIX系统就采用剥夺式动态优先的CPU调度,有力地支持分时操作。
实时操作系统:当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应和高可靠性是其主要特点。永远执行最高优先级,最高优先级任务只有1个。如:UCOS-II/III。
半实时操作系统:允许任务具有相同的优先级。如:FreeRTOS。

实时操作系统还分为硬实时和软实时:硬实时是规定时间必须执行完成的,软实时就是对于你超出规定的时间系统会有一定的容忍程度。

Free 即免费的,RTOS 全称是 Real Time Operating System,中文就是实时操作系统。注意,RTOS 不是指某一个确定的系统,而是指一类系统。比如 uC/OS,FreeRTOS,RTX,RT-Thread 等这些都是 RTOS 类操作系统。
操作系统允许多个任务同时运行,这个叫做多任务。实际上,一个处理器核心在某一时刻只能运行一个任务。操作系统中任务调度器的责任就是决定在某一时刻究竟运行哪个任务。任务调度在各个任务之间的切换非常快,就给人们造成了同一时刻有多个任务同时运行的错觉。
FreeRTOS 是 RTOS 系统的一种,FreeRTOS 十分的小巧,可以在资源有限的微控制器中运行,当然,FreeRTOS 不仅局限于在微控制器中使用。但从文件数量上来看 FreeRTOS 要比uC/OSII 和 uC/OSIII 小的多。
选择FreeRTOS:
FreeRTOS是免费的,学习RTOS操作系统的话 uC/OS是首选,但要做产品的话,免费的FreeRTOS操作系统就是个不错的选择。
许多半导体厂商产品的 SDK(Software Development Kit—软件开发工具包) 包就使用 FreeRTOS 作为其操作系统,尤其是 WIFI、蓝牙这些带协议栈的芯片或模块。
简单,因为FreeRTOS 的文件数量很少。
FreeRTOS操作系统特点:
FreeRTOS 的内核支持抢占式,合作式和时间片调度。
提供了一个用于低功耗的 Tickless 模式。
系统的组件在创建时可以选择动态或者静态的 RAM,比如任务、消息队列、信号量、软件定时器等等。
FreeRTOS-MPU 支持 Corex-M 系列中的 MPU 单元,如 STM32F429。
FreeRTOS 系统简单、小巧、易用,通常情况下内核占用 4k-9k 字节的空间。
高可移植性,代码主要 C 语言编写。
高效的软件定时器。
强大的跟踪执行功能。
堆栈溢出检测功能。
任务数量不限。
任务优先级不限。

12、气象站的项目设备尺寸多大?在项目中主要负责了哪些东西?天气是如何获取到的?天气数据都有哪些?如何实现的联网?为什么不直接用esp8266开发?
答:在项目中主要负责底层环境的搭建、天气数据的获取、以及EmWin移植UI界面设计以及串口的调试。
天气获取是从心知天气上获取的,使用ESP8266访问心知天气,获取心知天气服务器信息:
域名:https://www.seniverse.com/
1)注册账号,开通服务
2)查看API文档:如何访问API接口
HyperData 数据产品简介

MCU单片机面试题(1)相关推荐

  1. 金誉半导体笔记:什么是MCU单片机的SPI、UART、I2C通讯接口

    正如我们之前所了解的 ,MCU单片机是一个集成芯片 ,但这个集成芯片有一些特殊的功能 ,可以控制外部设备 ,处理外部设备收到的数据,就像人脑一样 ,可以控制手脚的运动 ,可以处理感官收到的信息,这就是 ...

  2. 锦锐单片机开发工具_锦锐触摸MCU 单片机方案开发

    深圳市景芯微科技--成立于2018年7月, 公司以芯片设计.系统整合.软硬件技术开发,生产支持等优质服务与合作伙伴共同开拓商机.共同发展. 坚持"以人为本.客户至上"为经营原则,辛 ...

  3. 瑞萨MCU单片机资料R5F100LEA RL78G13视频例程软件

    瑞萨单片机资料_RL78/R5F100LEAFA大学生电子竞赛专用芯片资料_源程序+软件+视频讲解 瑞萨单片机_全国大学生电子设计大赛开发板配套光盘_2015年电赛_2013年电赛_瑞萨MCU单片机R ...

  4. 计算机三级单片机考试试题及答案,2008秋计算机三级单片机试卷及部分答案

    06年至08年共5分浙江省计算机三级考试单片机试卷及答案,试题模板系网上下载,并按照自己理解完成了判断题和选择题及部分解答题,更正了一部分答案,大多数是自己所学的不完全的知识所解答,故有错误之处难免, ...

  5. 十大主流MCU单片机公司汇总

    微控制单元(Microcontroller Unit:MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process ...

  6. 分享灵动微预驱MCU单片机MM32SPIN580C

    灵动微预驱MCU单片机MM32SPIN580C使用高性能的Arm®Cortex®-M0为内核的32位MCU.Arm®的Cortex®-M0是32位的RISC处理器,提供额外的代码效率,在通常8和16位 ...

  7. 手持超静音迷你USB小风扇便携式手握可充电五档风力LED显示电量方案MCU单片机开发

    手持超静音迷你USB小风扇便携式手握可充电五档风力LED显示电量方案MCU单片机开发 二: 特性 同步开关升压 1A同步开关升压,内置MOS 升压效率90% 线性充电 自适应充电电流调节,匹配所有适配 ...

  8. MCU(单片机) ,MCU,CPU, SOC

    1.前言 SOC和MCU对比,大家可以理解成SOC就是定制功能版本的MCU.当然,SOC不仅仅局限于MCU,还可以是更高端的CPU.MPU的功能定制版. 2.MCU MPU CPU 的概念 CPU(C ...

  9. FANSEA泛海微MCU单片机IC方案LED智能紫外(UVC+UVA)消毒灯

    紫外线灯在消毒杀菌方面有着明显优势,尤其是目前2020新型冠状病毒疫情肆虐,紫外线消毒因为其专业特性是室内消毒杀菌的安全有效的方式. FANSEA泛海微但紫外线消毒灯因误操作也极易发生意外伤害.利用紫 ...

最新文章

  1. Spring Cloud Alibaba基础教程:Sentinel Dashboard同步Apollo存储规则
  2. linux如何使用物理内存_10 张图解再谈 Linux 物理内存和虚拟内存
  3. 帆软决策报表嵌入html,在决策报表中使用网页框控件
  4. [Leetcode][程序员面试金典][面试题17.13][JAVA][恢复空格][动态规划][Trie][字符串哈希]
  5. java中什么是数组_JAVA中关于数组的定义
  6. java servlet spring_带着新人简单看看servlet到springmvc
  7. 登录显示离线_使用emoji加密文本;nali—终端离线查询 IP 地理信息
  8. lc滤波电路电感电容值选择_模拟电路中,电感的这些知识点你都清楚吗?
  9. 泾县高级职业中学计算机专业课程,泾县高级职业中学:以人为本 促可持续发展...
  10. 小程序map地图多点定位
  11. 数模(6):Leslie矩阵人口模型
  12. 【微信商城小程序怎么弄】微信商城小程序开发的基本流程
  13. Java 校验注解的使用、自定义校验注解
  14. 世界上最大的计算机硬盘,全球我最大 忆捷A600 2TB移动硬盘评测
  15. 直播app源码,matlab 色彩布局描述符
  16. 20个热门少儿编程网站【2019】
  17. VC编程工具的灵活使用实验报告
  18. 给VSCode和网站领养喵咪 一起快乐撸猫
  19. 2021年低压电工复审模拟考试及低压电工实操考试视频
  20. 中国地图FLASH和JS版本

热门文章

  1. android_button onclick点击事件的5种写法
  2. 名编辑电子杂志大师教程 | 给电子杂志目录设置跳转到指定页面
  3. 接口测试流程是怎样的?
  4. C语言 - 巧解正数,负数以及零的按位取反
  5. mapbox基本使用
  6. 2017年六级翻译:宋朝和唐朝
  7. 网络教育专升本统考计算机分值,网教统考科目计算机应用基础之文字处理部分如何提高分数?...
  8. html文本框如何固定不动,css如何让div固定不动?
  9. Log日志(Linux C)
  10. bind()方法实现