秋招嵌入式面经

24秋招-汇川嵌入式面经--超详细!

一面

8月24日投递 9月3日一面(30min)

自我介绍:

  1. 介绍一下你的第一个项目吧

  2. 对于MCU的选型为什么使用F4的STM32?

  3. 项目里面用到了SPI进行两块MCU之间的通信,介绍一下SPI?经典八股,提前准备了,没问题

  4. 为什么使用SPI,有考虑过或者对比过别的协议吗?

  5. 那C语言里面指针用得多吗?还行,比较常用的数据类型,也是C的一个特色。讲了一下项目中使用指针的例子,用指针传递六轴传感器的数据到消息队列,防止错乱与丢失

  6. 结构体用得多吗?讲了一下项目里SPI传输数据的时候用的数据包用的就是结构体来打包,包含了帧头、传感器ID以及数据本体

  7. 还问了一些简单的FreeRTOS的问题,最后面试官当场表示一面过了

二面

9月8日二面(20min) 自我介绍

不要以技术为主,主要体现自己的人各方面的魅力,谦虚得来又要有自信

就那些 hr 常问问题,可以看看宝洁八大问,挑他爱听的讲就好了

二面结束后一个小时通知三面

三面

9月10日三面(30min)

1.自我介绍

项目里面用到了 IIC,SPI,UART,CAN,简述一下之间的区别、分同步异步展开讲。然后逐个拆解异同点,时序等关键信息,清晰讲述就好,也是经典八股。

在比赛里面用的CAN波特率是多少?

答:250k

为什么用250k?

结合整车器件的特性,兼顾稳定性和速率,例如电池的BMS和整车控制器ECU等。还有就是往届有些代码我们也会使用,所以一直以来都在用250k,也就没改(但是其实这样答题很不好,千万不要这样说)

介绍一下C的结构体对齐

后面还问了:个人发展规划等这些综合问题,看情况发挥好了

24秋招-汇川-嵌入式面经-2

一面技术面(20分钟) 8.18

算是面的最顺的一次。

1.自我介绍

2.简单聊一下项目以及毕设

3.IIC与SPI之间的区别

4.局部变量和全局变量之间的区别

5.有参宏、无参宏之间的区别

6.结构体和联合体之间的区别

二面HR面(30分钟)8.25

这一面,能感受到HR非常的专业,对于行业的了解认知上要求比较高。

1.行业上的规划选择以及排序(从现在的行业转换到其他行业会不会很可惜)

2.学校生活中比较有成就感和比较遗憾的案例,各举一个(这里对我所讲的内容,进行了归纳分点)

3.一个比较大的问题:决定一个产品最终走向市场的流程阶段以及侧重的影响因素是怎么样的

4.怎么做项目的前期调研,考虑了什么因素

5.纯科研的项目和公司的项目本质区别是什么?

6.理想中的工作氛围和工作平台是什么样?

7.剩下就是问一些基本信息。

三面主管面(30分钟)9.06

整体上来说,还是比较顺畅的。

1.自我介绍

2.详细阐述一个项目,项目的工作难点以及花费时间比较多的事情。

3.项目的核心成员有多少,怎么分配协作的。

4.周边的同学是怎么形容和评价你的,有什么案例吗?

5.讲述一下自己的优点和缺点 反问

结合昨天另一位同学的汇川嵌入式面经,可以看到面试官还是会去综合考察我们的专业能力,基础的C语言、单片机、到操作系统其实都有可能被问到。此外还有简历上的项目,通过项目发问能够考察到大家平时的学习基础、动手能力

111111111111111111111

STM32是一种强大的芯片,可提供用于采集振动信号的源代码。振动信号可通过传感器获得,然后由STM32处理并输出。

代码的实现有两种方法:基于硬件和基于软件。
硬件方法:使用STM32的ADC模块采集传感器的电信号,将其转换为数字信号,并对其进行数字信号处理。

设置ADC模块的工作模式,如数据采集精度、采样速率等。

设置ADC通道与传感器的映射关系。

定义采集的数据类型和存储位置。

循环采样并将数据存储到指定的缓冲区。

对采集的数据进行滤波、峰值检测或快速傅里叶变换等处理。

输出处理后的数据,可以通过串口或网络发送到上位机进行进一步处理。

软件方法:使用STM32的定时器和输入捕获功能进行采样和处理。

设置定时器和输入捕获模块的参数,如计数器的分频系数、定时器计数模式等。

定义采集的数据类型和存储位置,并初始化缓冲区。

在定时器溢出或捕获到输入信号时,将计数值存储到缓冲区。

对采集的数据进行滤波、峰值检测或快速傅里叶变换等处理。

输出处理后的数据,可以通过串口或网络发送到上位机进行进一步处理

无论是使用硬件还是软件实现,都需要对采集的数据进行处理和滤波,以确保信号的准确性和可靠性。同时,出于实际应用的考虑,还需要对系统的可靠性、稳定性和功耗等进行优化。

相关问题

基于stm32的信号采集与显示
基于STM32的信号采集与显示系统可以根据用户需求采集不同类型的信号,例如温度、湿度、电压、电流等,然后将采集到的信号通过STM32芯片进行处理并显示。

在系统设计中,可以使用STM32的ADC模块来采集信号,并将采集到的数据进行数字化处理,以提高精度和稳定性,并利用中断机制对采集的数据进行处理和传输。

在信号显示方面,可以利用LED、LCD等显示模块对采集到的数据进行实时显示,并进行相应的处理和控制。此外,还可以通过WiFi或蓝牙等无线通讯模块将采集数据传输到手机或电脑等其他设备上进行显示或进一步处理。

总之,基于STM32实现信号采集与显示的系统可以实现高精度、高稳定性的信号采集,以及实时的信号显示和控制功能,具有很高的应用价值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux操作系统配置git的ssh

系统:Ubuntu20.04LTS 安装git: sudo apt install git 配置git: # 添加全局git用户和邮箱 git config --global user.name "用户名" git config --global user.email "邮箱" # 查看用户名和邮箱是否有误 git config --li…

JavaEE初阶Day 13:多线程(11)

目录 Day 13:多线程(11)常见的锁策略1. 悲观锁 vs 乐观锁2. 重量级锁 vs 轻量级锁3. 自旋锁 vs 挂起等待锁4. 可重入锁 vs 不可重入锁5. 公平锁 vs 非公平锁6. 互斥锁 vs 读写锁 synchronized实现原理1. 锁升级2. 锁消除3. 锁粗化 CAS Day 13…

自助棋牌室如何用一招留住80%的客户?

棋牌室如何用一招守住80%的回头客,你想知道吗? 记得收藏,希望对你有一点点帮助! 今天我就分享一个非常简单的方法,简单到所有的棋牌室老板你立马就可以去执行的方法!第一步,加好友,…

Java面试八股之Iterator接口和Iterable接口

1. Java为什么不直接实现Iterator接口,而是实现Iterable? 这道题算是一道比较基础的题,面试官肯定也不是想让回答得多深入,只是考查对迭代器的了解程度,最好是看过源码,实际上迭代器的源码并不难。我们把注释折叠起来…

LIUNX文件系统

目录 1.磁盘的物理结构 2.CHS定位法 3.磁盘的逻辑存储 4.系统层面 inode.block[15] 创建文件的流程 查找文件的流程 了解文件系统,首先要了解磁盘是如何存储和读取数据的。 1.磁盘的物理结构 可以理解这个盘上有很多的小磁铁,通过旋转盘面和摆动…

葡韵饼店:云上清明节,千里寄哀思

清明,又称踏青节、祭祖节、行清节,节期在仲春与暮春之交,源自于上古时代的祖先信仰和春祭礼俗,兼具人文与自然两大内涵。 每当到了这个时候,人们都会携带祭祀物品,与家人们齐聚结伴,登山祭祖&am…

【Python】用python实现编译脚本

这个脚本可以自动扫描目录下的.c和.s文件并编译,同时生成hex和bin文件 ,可以代替Makefile工作。cortex-m 单片机 # -*- coding: gbk -*-import os import sys import time修改编译脚本之后需要全编译一次# CC gcc CC C:\\ARM_GCC\\bin\\arm-none-eabi-…

支付宝支付之SpringBoot整合支付宝创建自定义支付二维码

文章目录 自定义支付二维码pom.xmlapplication.yml自定义二维码类AlipayService.javaAlipayServiceImpl.javaAlipayController.javaqrCode.html 自定义支付二维码 继&#xff1a;SpringBoot支付入门 pom.xml <dependency><groupId>org.springframework.boot<…

PHP中常见的@注释的含义

api: 提供给第三方使用的接口 author: 标明作者 param: 参数 return: 返回值 todo: 待办 version: 版本号 inheritdoc: 文档继承 property: 类属性 property-read: 只读属性 property-write: 只写属性 const: 常量 deprecated: 过期方法 example: 示例 final: 标识类是终态, 禁…

前端开发该不该“跳槽”到鸿蒙?

前言 面对互联网行业的激烈竞争&#xff0c;许多人都深感2023年已是不易&#xff0c;而展望2024年&#xff0c;似乎更是难上加难。这一切的根源&#xff0c;皆因行业多年发展后&#xff0c;人才市场的饱和现象愈发严重。那么&#xff0c;作为前端开发者&#xff0c;我们究竟该…

速看!2024年强基计划报考流程及常见问答

01什么是强基计划&#xff1f; 为加强基础学科拔尖创新人才选拔培养&#xff0c;教育部在深入调研、总结高校自主招生和上海等地高考综合改革试点经验的基础上&#xff0c;制定出台了《关于在部分高校开展基础学科招生改革试点工作的意见》&#xff08;也称“强基计划”&#…

SpringBoot启动加载自己的策略类到容器中使用?

使用InitializingBean接口 springboot中在启动的会自动把所有的实现同一个接口的类&#xff0c;都会转配到标注Autowired的list里面 而且实现了InitializingBean接口&#xff0c;在启动的赋值的时候&#xff0c;我们会把所有的策略类&#xff0c;重放到map中&#xff0c;我们在…

c++ 11 添加功能 变量类型推导

1.概要 变量类型推导 2.代码 #include <iostream> #include <map> using namespace std; int main() { std::map<std::string, std::string> m{ {"a", "apple"}, {"b","banana"} }; // 使用迭代器遍历…

发布订阅模式以及mitt源码实现

发布订阅模式以及mitt源码实现 前言&#xff1a;我为什么要写他&#xff1f; 场景1: 我在写一个组件&#xff0c;但是层层传递之后&#xff0c;全是属性/事件的传递。中间有很多缘由&#xff0c;vuex 又不适合&#xff0c;最后选择了eventBus&#xff0c;但是vue3 已经不再提供…

【尚硅谷】Git与GitLab的企业实战 学习笔记

目录 第1章 Git概述 1. 何为版本控制 2. 为什么需要版本控制 3. 版本控制工具 4. Git简史 5. Git工作机制 6. Git和代码托管中心 第2章 Git安装 第3章 Git常用命令 1. 设置用户签名 1.1 基本语法 1.2 案例实操 2. 初始化本地库 2.1 基本语法 2.2 案例实操 3. 查…

【运输层】TCP 的流量控制和拥塞控制

目录 1、流量控制 2、TCP 的拥塞控制 &#xff08;1&#xff09;拥塞控制的原理 &#xff08;2&#xff09;拥塞控制的具体方法 1、流量控制 一般说来&#xff0c;我们总是希望数据传输得更快一些。但如果发送方把数据发送得过快&#xff0c;接收方就可能来不及接收&#x…

milvus服务安装bash脚本指令理解

下拉镜像&#xff1a;docker pull milvusdb/milvus:v2.4.0-rc.1下载文件&#xff1a;https://hub.yzuu.cf/milvus-io/milvus/blob/master/scripts/standalone_embed.sh安装启动&#xff1a;bash standalone_embed.sh start详细解释下这段代码&#xff1a;wait_for_milvus_runni…

伪代码——基础语法入门

1、简介 伪代码是一种用来描述算法或程序逻辑的抽象化编码方式&#xff0c;它不依赖于任何特定的编程语言语法&#xff0c;而是使用类似自然语言的形式来描述算法步骤。通常用于算法设计、教学和沟通&#xff0c;伪代码可以更直观地表达问题的解决方案&#xff0c;而不必受限于…

Ubuntu 22.04 配置VirtualBox安装Windows 10虚拟机

Ubuntu 22.04 配置VirtualBox安装Windows 10虚拟机 文章目录 Ubuntu 22.04 配置VirtualBox安装Windows 10虚拟机1.安装virtualbox2.下载Window.iso文件并载入3.问题解决3.1 Kernel driver not installed (rc-1908)3.2 VT-x is disabled in the BIOS for all CPU modes 4.安装Wi…

【python】python 模块学习之--Fabric

基础一&#xff1a; #!/usr/bin/env pythonfrom fabric.api import *env.userrootenv.hosts[218.78.186.162,125.208.12.56]env.passwords{ root218.78.186.162:22:XXX,root125.208.12.56:22:XXXX0}runs_once ####runs_once代表只执行一次def local_tas…