• 【嵌入式软件开发岗位 ---- 面试总结01】


    1、你在比赛项目中做过哪些事情。

    最近的话,做过一个基于PID模糊算法实现的水温控制系统,用STM32F103C8T6作为控制器,通过DS18B20返回水温,再通过模糊PID算法运算出PWM输出脉冲给继电器,由继电器控制热得快给水加热。
    PID模糊算法步骤:
    (1)输入量化
    (2)模糊化
    (3)制定规则库
    (4)解模糊
    (5)清晰化
    (6)工程量化

    2、遇到最困难的事情

    这个暑假我们在做华为开源社区OpenHarmony挑战赛,用的板子是小熊派的,搭载了开源鸿蒙3.0轻量级系统。由于是暑假我的2个队友都回家了,造成人员分散,每个人进度如何,以及遇到的问题无法及时沟通解决,再加上我们是第一次使用小熊派的板子,不熟悉,需要从环境搭建开始一步一步做,而且网上资料很少,只能靠自己去按逻辑推理去尝试各种解决办法。还有5天就要提交作品,负责通过mqtt协议连接华为云ADIOT平台的同学没有成功,
    当时很崩溃,想要放弃。我想起丘吉尔的演讲,(永不放弃),暂时抛开当前任务,调整自身状态后,静下心,再次投入到作品开发中,根据编译提示一步一步排查错误,定时开会汇报进入加强与队友沟通协作,最终如期完成我们预设目标,完成第一阶段作品提交。

    3、说说你对公司的了解(公司官网、知乎、贴吧进行了解)

    (1)从公司业务产品角度

    (2)公司规模前景

    (3)工作环境以及氛围

    (4)公司福利、待遇

    4.利尔达
    二面:

    A.自我介绍

    B.介绍自己化时间和精力最多的一个项目项目

    (1)包含LCD显示屏、照明板(包含:红黄绿三色灯、蜂鸣器、摁键)、温湿度传感器(可外接散热风扇)等;
    (2)LCD显示屏:可实现当日学习任务的推送,显示当天的日期、时间、室内温湿度,以及闹钟信息;
    (3)照明板可为学习桌面进行照明,通过摁钮可打开/关闭照明灯,通过长摁摁钮可切换不同的灯光;
    (4)照明板上的蜂鸣器播放学习提醒闹钟、定时饮水闹钟、定时休息闹钟,并通过LCD显示屏显示,也可播放当天的日期、时间、室内温湿度;
    (5)温湿度传感器可将温湿度的数据上传到华为云IoT平台,并将温湿度数据实时显示到LCD显示屏中,当温度大于某一特定的值时,华为云IoT平台会自动下发打开风扇的指令,进行降温;
    我负责的工作内容主要是:底层硬件模块驱动开发,主要的硬件模块有蜂鸣器、E53模块包含有电机、光照强度传感器、温湿度传感器、LED,完成传感器数据的采集和控制。

    C.IO口是怎么样驱动电机或蜂鸣器的

    上图为通用有源蜂鸣器的驱动电路。电阻R1为限流电阻,防止流过基极电流过大损坏三极管,在单片机应用电路中三极管主要的作用就是开关作用

    D.介绍一些小熊派开发板是使用什么芯片成为处理器的

    stm32MP157AAC

    E.小熊派有哪些硬件资源

    • 4GB eMMC
    • 512MB DDR
    • 可扩展SD
    • 4.3寸电容式LCD触摸屏
    • 2.4GHi3881 SDIO WIFI
    • USB2.0 HOST
    • KEY:Reset User

    F.LCD显示屏分辨率是多少

    800X480

    G.GPIO口有多少种输入输出方式

    输入模式:
    1.浮空输入
    2.上拉输入
    3.下拉输入
    4.模拟输入
    输出模式:
    1.开漏输出
    2.开漏复用输出
    3.推挽输出
    4.推挽复用输出

    参考博客地址

    H.说一些IIC、SPI、串口的通信原理

    (1)IIC:

    Inter-Integrated Circuit,它为两线式串行总线(SDA数据线、SCL时钟线),用于连接微控制器和外围设备,传输速度100-400kbps, 半双工通信

    (2)SPI

    Serial Peripheral interface 串行外围设备接口
    全双工同步并行通信,数据传输数率很高可达50MHz,相当于5.9MB/s
    有4根线进行通信:MISO MOSI SCLK CS
    MISO:主设备数据输入,从设备数据输出
    MOSI:主设备数据输出,从设备数据输入
    SCLK:主设备产生的时钟信号
    CS:片选信号

    其中:外设的写操作和读操作是同步完成的。
    如果只进行写操作,主机只需忽略接收到的字节;
    反之,若主机要读取从机的一个字节,就必须发生一个空字节引发从机的传输

    (3)UART------全双工同步异步方式

    UART,全称University Asynchronous Receiver / Transmitter,通用异步收发传输器

    UART是通用异步收发器(异步串行通信口)的英文缩写,它包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范,即UART是异步串行通信口的总称。而RS232、RS499、RS423、RS422和RS485等,是对应各种异步串行通信口的接口标准和总线标准,它规定了通信口的电气特性、传输速率、连接特性和接口的机械特性等内容。实际上是属于通信网络中的物理层(最底层)的概念,与通信协议没有直接关系。而通信协议,是属于通信网络中的数据链路层(上一层)的概念。 COM口是PC(个人计算机)上,异步串行通信口的简写。由于历史原因,IBM的PC外部接口配置为RS232,成为实际上的PC界默认标准。所以,现在PC机的COM口均为RS232
    RS-232是一个串行通信接口标准,它规定了逻辑“1”为-3 ~ -15V,逻辑“0”为+3 ~ +15V,符合该标准的串口也叫RS-232串口,比如电脑的COM口。不符合RS-232标准的串口?如单片机(如stm32)的UART/USART,它不遵循RS-232标准,使用的是TTL电平(Transistor-Transistor Logic),该电平的逻辑“1”为+5V,逻辑“0”为0V,称为TTL串口

    波特率115200 = 115200 (位/秒)
    如果没有校验位,就应该除以 10,得到的是每秒字节数:
    波特率115200 = 115200 (位/秒) = 11520 (字节/秒)
    再除以 1024,就是每秒 KB 数:
    波特率115200 = 115200 (位/秒) = 11.25 (KB/秒)
    如果有一位奇偶校验位,就应该除以 11,得到的是每秒字节数。

    (4)USART------全双工同步异步方式

    University Synchronous/Asynchronous Receiver/Transmitter 通用同步/异步串行收发/发送器

    UART和USART的区别:是USART多了一根时钟同步线

    博客参考

    (5)USB2.0 – 半双工异步通信方式 USB3.0 — 全双工通信

    用于规范电脑与外部设备的连接和通讯,是应用在PC领域的接口技术

    (6)CAN ---- 半双工通信方式

    Controller Area Network;CAN控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐形电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。
    通信速度较快,通信距离远,最高1Mbps,最远10KM

    I.说一些自己有哪些应用到SPI的地方

    OLED显示时用到过

    J.说一下WiFi是怎么样连接上LOT平台进行信息交互的

    我们使用是是海思3861WiFi模块,首先WiFi 初始化连接上我的笔记本电脑热点,连接上网络后通过MQTT协议连接上华为云IOT平台

    K.Hap是什么

    HarmonyOS Application Package, 它是由一个或多个HAP(HarmonyOS Ability Package)包以及描述APP Pack属性的pack.info文件组成。HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开,它是由一个或多个Ability组成。

    L.STM32中有哪些变量类型

    字符型 char = 1字节 -2^8 ~ 2^8-1
    整形 int = 4字节 -2^(32-1) ~ 2^(32-1) -1
    单精度浮点数 float = 4字节 范围是-2^128 ~+2^128 -1
    符号位:1 指数位:8 尾数位:23

    双精度浮点型 double = 8 字节,范围是-2^1024 ~ 2^1024 -1
    符号位:1 指数位:11 尾数位:52

    float和double的范围是由指数的位数来决定的,精度是由尾数的位数来决定的。

    int8_t : typedef signed char;
    uint8_t : typedef unsigned char;
    int16_t : typedef signed short ;
    uint16_t : typedef unsigned short ;
    int32_t : typedef signed int;
    uint32_t :typedef unsigned int;
    int64_t : typedef signed long
    uint64_t : typedef unsigned long

    M.STM32中某有各种类型和长度,你会使用哪种方式进行传参

    方法1:结构体
    方法2:一个一个传

    N.Float和double的区别

    它们表示的范围不同,double是8字节,float是4字节
    float和double的范围是由指数的位数来决定的,精度是由尾数的位数来决定的。

    O.如果给定1~20v电压ADC/DC,你怎么设计软硬件

    Analog to Digital Conver,A/D转换器按工作原理的不同,可以分成间接ADC和直接ADC。间接ADC是先将输入模拟电压转换成时间或频率,然后再把这些中间量转换成数字量,常用的有双积分型ADC。直接ADC则直接将模拟量转换为数字量,常用的有并联比较型ADC和逐次逼近型ADC

    参考博客

    P.介绍一下自己还做过哪些硬件设计

    我做过一个51单片机最小系统板,利用蜂鸣器实现播放音乐,并且可以上下切换歌曲。

    Q.你会哪些滤波

    线性滤波、非线性滤波
    高斯滤波、低通滤波、高通滤波、同态滤波、

    R.你实验室同届有多少人,有找工作的吗

    8人,有保研有考研也有找工作的

    S.你目前面试了多少家公司

    3家公司

    T.你有哪些问题想要问的

    U.反问

    公司有入职培训吗

    公司工作环境怎么样

    公司有哪些晋升通道

    面试官觉得我在面试过程中还有哪些地方值得提示的

  • 相关阅读:
    【教学类-16-02】20221125《世界杯七巧板A4整页-随机参考图七巧板 3份一页》(大班)
    Flutter之旅:探索安卓与跨平台开发的无限可能
    前端项目规范化
    Spring Cloud GateWay基于nacos如何去做灰度发布
    2.数据及其预处理
    macos苹果电脑清理软件有哪些?cleanmymac和腾讯柠檬哪个好
    物联网IoT体系结构及核心技术
    域名解析--nslookup和dig
    腾讯游戏革命:手游内400+AI角色个性化成长,成本削减90%|TodayAI
    C++&QT-day2
  • 原文地址:https://blog.csdn.net/qq_45986997/article/details/126900934