面试(三)

1.介绍一下自己吧?

要求:言简意赅,和应聘岗位相关的简历(根据公司岗位更改自我介绍),为什么能够胜任这个岗位的工作,为什么要应聘这个岗位的原因是什么?(职业规划)

总结:介绍自己+应聘的工作是什么+对这个公司/工作的了解+开始将自己的知识和岗位需求的重合.

2.介绍一下STM32的外设

GPIO:通用IO;AFIO:复用IO

EXTI:外部中断;TIM:定时器

ADC:模数转换器;DMA:直接内存访问

USART:同步/异步串口通信;I2C和SPI

CAN和USB;RTC;SDIO;FSMC

3.简单说一下SPI,IIC,UART

SPI是同步,串行,全双工的通信方式,6根线:VCC,GND,CS,MOSI,MISO,时钟线。SPI不支持多个主设备,传输速率快。

IIC是同步,串行,半双工的通信方式,4根线:VCC,GND,SCL,SDA,。IIC支持多个主设备,具有总线仲裁。

UART和USART,USART支持同步和异步方式,全双工,串行的通信方式。UART是四根线,GND,VCC,RXD,TXD。传输距离比I2C长些。

4.SPI,IIC,UART通信速率比较

SPI > I2C > UART

1.同步大于异步

2.同步通信时必须有一根时钟线连接传输的两端

3.适合传输的距离和通信速率成反比关系

5.总线接口UART I2C SPI USB的异同点

1.UARU通用异步串行口,速率不快,可全双工,结构上一般由波特率产生器,UART发送器,UART接收器组成,硬件上两线,一收一发

2.SPI高速同步串行口,高速,可全双工,收发独立,同步接口,可实现多个SPI设备互连,硬件4条线。SPI通信无起始位和停止位

3.I2C串行,多主控,两线。速率不快,半双工,同步接口,具有总线仲裁机制。

4.USB通用串行总线,高速,半双工。

6.串口配置

波特率:指的是数据传输的速度,两个通信设备之间的波特率必须匹配,否则无法正确传输数据。
数据位:数据位指的是每次传输的数据的位数,常见的有七位和八位。数据位的数量会影响信息的详细程度和传输的效率。
停止位:停止位用于标志数据帧的结束,常见的设置有一位或两位。停止位的数量会影响数据传输的准确性
奇偶校验:奇偶校验是一种错误检测方法
流控制:流控制用于管理数据流
时钟配置:对于某些特定的串口通信,如STM32,还需要进行时钟配置,来使能USART模块和GPIO模块的时钟
端口设置:需要确保串口端口正确连接到外部设备

7.IIC配置

起始信号和停止信号:这些信号标志着数据传输的开始和结束。
设备地址:每个IIC总线上设备都需要有一个唯一的地址,以便主设备能够识别并与之通信。
数据有效性:确保数据在总线上的城阙传输,包括数据的同步和校验

8.SPI配置

时钟极性和时钟相位:决定SPI通信中数据采样时机的关键因素。时钟极性指的是时钟信号在空闲状态时的电平,而时钟相位则决定了数据是在时钟信号的上升沿还是下降沿(奇数还是偶数跳变)被捕获。
主模式和从模式:SPI通信由一个主设备和一个或多个从设备组成。主设备控制时钟信号和从设备选择信号,而从设备则根据主设备的时钟信号来发送或接收数据。
时钟信号:需要确保主设备和从设备的时钟频率设置一致

9.结构体在单片机中的妙用

结构体是开发者自定义类型的一种,可以将不同数据类型,但相关的多个数据作为一个整体进行描述的数据结构.

  1. 数据整合:结构体可以将不同的数据类型组合在一起,形成一个新的复合数据类型。这对于管理具有多个属性的外设特别有用,比如一个传感器可能会包含温度、湿度和压力等多个测量值。

  2. 代码模块化:通过使用结构体,可以将相关的函数和变量组织在一起,使得代码更加模块化,便于阅读和维护。

  3. 提高可读性:结构体的使用可以让代码的意图更加明确,尤其是在处理复杂的数据时,可以提高程序的可读性。

  4. 方便传递:当需要将一组数据传递给函数或在不同的函数之间共享数据时,结构体可以作为一种容器,一次性传递所有相关数据。

  5. 接口定义:在与外部设备通信时,结构体可以用来定义通信协议中的数据包格式,确保数据的正确传输和解析

10.指针数组和数组指针

数组的指针:是一个指针,什么样的指针呢?指向数组的指针。

指针的数组:是一个数组,什么样的数组呢?装着指针的数组。

12.MCU外部的一些上升沿和下降沿的中断

外部中断:MCU通常提供外部中断引脚,当外部信号的上升沿触发时,会产生一个中断请求,从而执行相应的中断服务程序。

定时器中断:定时器设置为计数模式,并配置为在计数值达到设定值时触发中断,通过设置计数器的时钟源和计数值,可以实现在特定时间间隔内检测上升沿并触发中断

外部事件中断:某些MCU提供了外部事件模块,可以通过配置外部事件的触发条件为上升沿来实现上升沿中断。

13.c语言中实现队列

实现方式:用数组还是链表,用链表来实现会更方便,原因如下:

队列有多少元素不确定,链表可以做到需要就申请,不用就是释放,较为方便

队列是先进先出,顺序固定,不需要随机访问。

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

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

相关文章

华清远见作业第五十三天——ARM(第七天)

代码 key_inc.h #ifndef __KEY_INC_H__ #define __KEY_INC_H__ #include "stm32mp1xx_gic.h" #include "stm32mp1xx_exti.h" #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h"void key1_it_config();void key2_it_config(…

【polarctf的部分题解】

【web】phar —》私有属性赋值 当时遇到不知道privated该怎样赋值才可以&#xff0c;链子挺简单的&#xff0c;但是语法不熟悉 <?php include funs.php; highlight_file(__FILE__); if (isset($_GET[file])) {if (myWaf($_GET[file])) {include($_GET[file]);} else {unse…

案例分析:汽车零配件行业CRM解决方案,成功案例揭秘!

近年来&#xff0c;国家大力推动新能源汽车行业发展&#xff0c;在国内汽车工业实现“弯道超车”的同时&#xff0c;新能源汽车出口海外&#xff0c;新市场有望为自主新能源方向贡献增量。 汽车行业的快速发展&#xff0c;势必会带动汽车零配件行业走向增长。从政策方面看&…

牛客网BC-33 统计成绩(数组排序思想)

题目如下 --------------------------------------------------------------------------------------------------------------------------------- 思路&#xff1a;以数组形式输入&#xff0c;并将数组顺序&#xff08;或者逆序&#xff09;排序&#xff0c;最后输出最大值最…

Redis入门到实战-第十二弹

Redis实战热身Bitfields篇 完整命令参考官网 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://redis.io/Redis概述 Redis是一个开源的&#xff08;采用BSD许可证&#xff09;&#xff0c;用作数据库、缓存、消息代理…

并发编程之Callable、Runnable、Future与FutureTask

目录 前言一、Callable与Runnable1.1 Callable1.2 Runnable1.3 二者对比 二、Future与FutureTask2.1 Future2.2 FutureTask2.3 二者对比 三、综合使用3.1 Callable执行Future获取结果3.2 Callable执行任务FutureTask获取执行结果 四、应用场景 前言 在 Java 中&#xff0c;Cal…

小明SEO:网站域名被投诉怎么恢复呢?分享

小明SEO对他的网站进行了分析&#xff0c;发现网站上存在大量非法内容&#xff0c;比如股票、金融、外汇等&#xff0c;甚至还有虚假宣传来吸引其他网站的流量。 随后他检查了该网站的tdk设置&#xff0c;尤其是网站标题&#xff0c;发现也存在违规行为。 这就是网站域名被投诉…

富格林:抵制虚假受害保全出金

富格林指出&#xff0c;黄金一直以避险资产和投资产品闻名&#xff0c;一直备受投资者们的关注。但是在现货黄金交易中&#xff0c;有部分投资者指出不幸遭遇了虚假操作导致出金失败等受害现象。事实上&#xff0c;现货黄金火热&#xff0c;市面上也或多或少涌现了虚假操作现象…

LeetCode 两数之和 解法 (转发篇)

题&#xff1a;两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。…

React Native 应用打包

引言 在将React Native应用上架至App Store时&#xff0c;除了通常的上架流程外&#xff0c;还需考虑一些额外的优化策略。本文将介绍如何通过配置App Transport Security、Release Scheme和启动屏优化技巧来提升React Native应用的上架质量和用户体验。 配置 App Transport…

Python 构建项目工具库之pybuilder使用详解

概要 在Python项目开发中,良好的构建和自动化流程是非常重要的。PyBuilder是一个用于构建Python项目的工具,它提供了简单易用的方式来定义和管理项目的构建过程,包括依赖管理、测试、代码质量检查等。本文将深入探讨PyBuilder库的使用方法、功能特性以及如何利用它来构建优…

SQL映射文件

一、SQL映射的xml文件 1.1 mapper元素 二、select 三、别名与Java映射 四、resultMap 啊

一道很有意思的题目(考初始化)

这题很有意思&#xff0c;需要你对初始化够了解才能解出来 &#xff0c;现在我们来看一下吧。 这题通过分析得出考的是初始化。关于初始化有以下知识点 &#xff08;取自继承与多态&#xff08;继承部分&#xff09;这文章中&#xff09; 所以根据上方那段知识点可知&#xf…

Linux/Backdoor

Backdoor Enumeration nmap 第一次扫描发现系统对外开放了22&#xff0c;80和1337端口&#xff0c;端口详细信息如下 22端口对应的是ssh服务&#xff0c;80端口使用Apache&#xff0c;title上写着backdoor&#xff0c;而且可以看出使用了wordpress&#xff0c;1337端口暂时还…

HyperWorks2023 下载地址及安装教程

HyperWorks是一套由Altair Engineering开发的集成化仿真平台。这个平台涵盖了许多不同领域的仿真和优化应用&#xff0c;包括结构分析、流体力学、多体动力学、优化、电磁场分析等。 HyperWorks提供了一系列强大的工具和模块&#xff0c;用于进行复杂的工程仿真和优化任务。它…

Rust 的 HashMap 特定键值元素值的累加方法

在Rust中&#xff0c;如果你想要对HashMap中特定键对应的值进行累加操作&#xff0c;你需要首先检查该键是否已存在。如果存在&#xff0c;则取出其值&#xff0c;进行累加&#xff0c;然后将结果存回HashMap。如果不存在&#xff0c;则可能需要插入一个新的键值对&#xff0c;…

Unity VideoPlayer 全屏到 FGUI

需求&#xff1a; 利用VideoPlayer将视频全屏显示到FGUI上。 解决方案&#xff1a; 在FGUI上创建一个全屏UI&#xff0c;创建一个装载器&#xff0c;大小设置为全屏。 设置 VideoPlayer 的渲染方式为 RenderMode.RenderTexture. 创建RenderTexture&#xff0c;&#xff08;将视…

数据结构 之 队列习题 力扣oj(附加思路版)

优先级队列 #include<queue> --队列 和 优先级队列的头文件 优先级队列&#xff1a; 堆结构 最大堆 和 最小堆 相关函数&#xff1a; front() 获取第一个元素 back() 获取最后一个元素 push() 放入元素 pop() 弹出第一个元素 size() 计算队列中元素…

简单了解synchronized

什么是synchronized synchronized是Java提供的一个关键字&#xff0c;用于方法或者代码块&#xff0c;保证并发安全。 synchronized使用场景 同步代码块&#xff08;原子性&#xff09; synchronized可以用在方法上&#xff0c;或者用在代码块。 可锁的对象可以是普通对象…

JQ操作Dom(下)

一、设置样式 <div>设置样式</div> <script type"text/javascript">//设置一条样式$(div).css(background-color,red);//设置多条样式使用类名的方式 </script> <div>设置样式 </div> <script type"text/javascript&q…