面试(二)

目录

1.STL六大部件

2.STL容器

3.汇编

4.基于Freertos工训机器人面试

5.opencv常用函数

6.陀螺仪模块 JY901B

7.增量式与位置式PID区别:

8.MQTT

12.描述一下gcc的编译过程?

13.内存的最⼩存储单位以及内存的最⼩计量单位分别是?

14.#include<> 与#include ""的区别?

15.变量的声明与定义有啥区别?

16.描述⼀下32位或64位平台下指针的⼤⼩

17.哪些情况下会出现野指针

18.git流程?

19.linux基本命令?

20.c语言三大结构

21.结构体和联合体的区别

22.字符串常用函数

23.C语言的文件操作


1.STL六大部件

分配器 迭代器 适配器 容器 算法 仿函数

2.STL容器

vector,deque,list,forward_list,array

STL容器适配器:

stack,queue,priority_queue

关联式容器

set,map

3.汇编

GNU汇编使用于I.MX6ULL,汇编程序的默认入口标号是_start

处理器内部数据传输指令

MOV,MRS,MSR

存储器访问指令

LDR,STR

汇编语言直接对应机器指令,I.MX6ULL中用汇编语言设置好C环境,比如初始化DDR,设置SP指针。

4.基于Freertos工训机器人面试

这个项目是我参加的一个比赛过程中做的。其结构和主控都是我们自制,利用串口控制机械臂,使用树莓派的opencv库来进行识别,使用陀螺仪和pid来控制直行,用pid调节电机速度。并且对于工训车的设计,我们也花了不少功夫,1. 我们使用了三个电源,一个给树莓派供电,一个给电机驱动模块供电,一个其他供电,目的主要是防止电机转动时对单片机或树莓派产生影响 2. 车体,我们是采用的三层亚克力板搭成的工训车,全封闭的,防止灰尘或外部环境对主控或其他模块造成影响。3.还有模块的选择上,F4串口和定时器是最符合这次比赛需求的,以及串口屏和串口舵机,会使得项目程序设计简单合理。

5.opencv常用函数

#开启摄像头
cap = cv2.VideoCapture(1)
#设置分辨率 VGA(640*480)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)frame = cv2.flip(frame, 0)  # 镜头上下反转
frame = cv2.flip(frame,1)  #镜头水平翻转#转换成HSV
hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)
#转换成灰度
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)可以使用cv2.imread()函数读取图像,使用cv2.imshow()函数显示图像。

6.陀螺仪模块 JY901B

陀螺仪分为三轴,六轴,九轴,主要功能分别是三轴加速度,三轴角速度(陀螺仪),三轴地磁计。

7.增量式与位置式PID区别:

1增量式算法不需要做累加,而位置式算法要用到过去偏差的累加值。

2增量式算法得出的是控制量的增量, 而位置式的输出直接对应对象的输出。

3增量式PID控制输出的是控制量增量,并无积分作用,因此该方法适用于执行机构带积分部件的对象,如步进电机等,而位置式PID适用于执行机构不带积分部件的对象,如电液伺服阀。

4在进行PID控制时,位置式PID需要有积分限幅和输出限幅,而增量式PID只需输出限幅

8.MQTT

MQTT是一种基于TCP的发布/订阅协议,基本所有的云平台都支持设备以MQTT协议接入,如果你的设备支持MQTT连接,所以很容易的对接各云平台

12.描述一下gcc的编译过程?

分为四个阶段:预处理,编译,汇编,链接

预处理:头文件包含,宏替换,条件编译,删除注释

编译:主要进行词法,语法,语义分析等,检查无误后将预处理好的文件编译成汇编文件

汇编:将汇编文件转换成二进制目标文件

链接:将项目中的各个二进制文件+所需的库+启动代码链接成可执行文件

13.内存的最⼩存储单位以及内存的最⼩计量单位分别是?

最⼩存储单位是二进制位,内存的最⼩计量是字节

14.#include<> 与#include ""的区别?

include<>到系统指定目录寻找头文件,#include ""在项目所在目录查找文件,如果没有再到系统指定目录查找

15.变量的声明与定义有啥区别?

声明不需要建立存储空间,定义建立存储空间

16.描述⼀下32位或64位平台下指针的⼤⼩

32位平台:任意类型的指针⼤⼩为4字节

64位平台:任意类型的指针⼤⼩为8字节

17.哪些情况下会出现野指针

指针变量未初始化、指针释放后未为置空、指针操作超越变量作⽤域

18.git流程?

同步远程仓库代码:git pull
查看当前状态:git status
提交代码到本地git缓存区:git add
推送代码到本地git库:git commit
提交本地代码到远程仓库:git push

19.linux基本命令?

pwd:用于显示用户当前所处的目录
cd:用来在不同的目录中进行切换
ls:用来列出文件或目录信息
cat:查看文件内容
mkdir:创建一个目录
mv:用于文件或目录的移动或改名
touch:建立文件或更新文件的修改日期
reboot:重新启动系统
echo:在终端输出字符串或变量提取后的值
常用解压缩命令
gzip和gunzip
gzip 文件
gunzip 文件.gz
zip和unzip指令
zip [选项] 文件.zip 要压缩的文件或者目录
unzip [选项] 文件.zip
tar指令
该指令为打包指令,最后打包的文件是x.tar.gz文件(既可以压缩,也可以解压缩).

20.c语言三大结构

选择,顺序,循环结构。选择结构常用的有:if和switch

21.结构体和联合体的区别

结构体各成员各自拥有自己的内存,各自使用互不干涉。联合所占的内存大小为空间内最大内存成员的内存大小;联合内的成员占用同一个内存空间

22.字符串常用函数

strlen函数(求字符串长度函数)
strcpy函数(字符串拷贝函数)
strcat函数(字符串拼接函数)
strcmp函数(字符串比较函数)
strstr函数

23.C语言的文件操作

定义文件指针
//FILE类型
int *p;
FILE* pf=NULL;
//fopen(int* fp)
fopen函数,文件打开
//fclose(int* fp)
fclose函数,文件关闭
字符输入函数    fgetc   所有输入流
字符输出函数    fputc   所有输出流
文本行输入函数    fgets   所有输入流
文本行输出函数    fputs   所有输出流
格式化输入函数    fscanf  所有输入流
格式化输出函数    fprintf 所有输出流
二进制输入    fread   文件
二进制输出    fwrite  文件

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

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

相关文章

勾八头歌之分类回归聚类

一、机器学习概述 第1关机器学习概述 B AD B BC 第2关常见分类算法 #编码方式encodingutf8from sklearn.neighbors import KNeighborsClassifierdef knn(train_data,train_label,test_data):input:train_data用来训练的数据train_label用来训练的标签test_data用来测试的数据…

【Monero】Onion Monero Blockchain Explorer | 洋葱门罗币区块链浏览器

github&#xff1a;onion-monero-blockchain-explorer Onion Monero Blockchain Explorer特点: • 没有cookie&#xff0c;没有网络分析跟踪器&#xff0c;没有image&#xff0c; • 开源&#xff0c; • 完全用C编写&#xff0c; • 显示加密的付款 ID&#xff0c; • 显示环…

Django auth模块

【一】命令行创建用户 【1】语法 python manage.py createsuper【2】示例 用户名 默认是是电脑名称 邮箱 可以填也可以不填 密码 terminal中&#xff1a;输入密码不显示出来manage.py中&#xff1a;明文输入输入密码太简单会提示 Username (leave blank to use administra…

20231911 2022-2023-2 《网络攻防实践》实验三

1.实验内容 1、实践tcpdump 使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探&#xff0c;回答问题&#xff1a;你在访问www.tianya.cn网站首页时&#xff0c;浏览器将访问多少个Web服务器&#xff1f;他们的IP地址都是什么&#xff1f; 2、实践Wireshark 使…

Cesium for UE-03-添加数据集(倾斜摄影)

继续上一章节&#xff0c;在创建了项目和关卡的基础上添加倾斜摄影 重新打开上次的项目和关卡 如果你已经关掉了上次的项目和关卡&#xff0c;可以重新打开ue&#xff0c;然后选择 选择 文件-打开关卡&#xff0c;在弹出的窗口中&#xff0c;选择 上次的关卡&#xff0c;并点击…

从汇编以及栈帧层面理解内联函数的原理

宏太复杂&#xff0c;所以弄出内联&#xff0c;内联适合小函数&#xff0c;把函数连到程序里面&#xff0c;这样就直接用&#xff0c;不需要调用&#xff0c;但是它占用空间。 C推荐 const和enum替代宏常量 inline去替代宏函数 宏缺点&#xff1a; 1、不能调试 2、没有类型安…

多层感知机-----自我神经MLP入门笔记

多层感知机&#xff08;Multilayer Perceptron, MLP&#xff09;是一种常见的人工神经网络&#xff08;Artificial Neural Network, ANN&#xff09;模型&#xff0c;它由多个人工神经元组成的多层结构。每个神经元都与前一层的所有神经元连接&#xff0c;并且每条连接都有一个…

【ZZULIOJ】1004: 三位数的数位分离(Java)

目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy code 题目描述 从键盘输入一个任意的三位正整数&#xff0c;分别求出其个位、十位和百位上的数字。 输入 输入任意的一个三位正整数。 输出 依次输出个位、十位、百位上的数字。以空格间隔&#xff0c;但最后一…

HarmonyOS(鸿蒙开发)入门篇

如果需要学习鸿蒙开发可以查看以下学习资源链接 OpenAtom OpenHarmony Develop applications - HUAWEI HarmonyOS APP 转载请注明出处HarmonyOS(鸿蒙开发&#xff09;入门篇-CSDN博客&#xff0c;谢谢&#xff01;

【ZZULIOJ】1000: 从今天开始入坑C语言(Java)

目录 题目描述 输入 输出 样例输入 样例输出 code 题目描述 “C语言”在程序设计语言中是个闪亮的名字&#xff0c;每个学习计算机及相关专业的人在学习程序设计语言时都会首先关注它。C语言是 20 世纪 70 年代初在贝尔实验室开发出来的一种广为使用 的计算机程序设计语言…

如何使用PHP和RabbitMQ实现延迟队列(方式一)?

前言 今天我们来做个小试验&#xff0c;用PHP和RabbitMQ实现消息队列的延迟功能。 前期准备&#xff0c;需要安装好docker、docker-compose的运行环境。 需要安装RabbitMQ的可以看下面这篇文章。 如何使用PHP和RabbitMQ实现消息队列&#xff1f;-CSDN博客 一、安装RabbitM…

js逆向之实例某宝热卖(MD5)爬虫

目录 正常写 反爬 逆向分析 关键字搜索 打断点&分析代码 得出 sign 的由来 确定加密方式 写加密函数了 补全代码 免责声明:本文仅供技术交流学习,请勿用于其它违法行为. 正常写 还是老规矩,正常写代码,该带的都带上,我这种方法发现数据格式不完整. 应该后面也是大…

R语言学习——Rstudio软件

R语言免费但有点难上手&#xff0c;是数据挖掘的入门级别语言&#xff0c;拥有顶级的可视化功能。 优点&#xff1a; 1统计分析&#xff08;可以实现各种分析方法&#xff09;和计算&#xff08;有很多函数&#xff09; 2强大的绘图功能 3扩展包多&#xff0c;适合领域多 …

C#使用Stopwatch类来实现计时功能

前言 在 C# 中&#xff0c;Stopwatch 类是用于测量经过的时间的工具类&#xff0c;提供了高精度的计时功能。Stopwatch 类位于 System.Diagnostics 命名空间中。通常情况下&#xff0c;使用 Stopwatch 的流程是创建一个 Stopwatch 对象&#xff0c;然后调用 Start 方法开始计时…

C语言数据结构基础————二叉树学习笔记(四)简单的OJ题目练习

1.单值二叉树 965. 单值二叉树 - 力扣&#xff08;LeetCode&#xff09; 建立一个新的函数&#xff0c;用函数传参的方法来记录val的值 如上一篇最后的对称二叉树的习题&#xff0c;建立新的函数来传参 多采用使用反对值的方法&#xff0c;因为如果是相等return true的话&am…

UE4_旋转节点总结一

一、Roll、Pitch、Yaw Roll 围绕X轴旋转 飞机的翻滚角 Pitch 围绕Y轴旋转 飞机的俯仰角 Yaw 围绕Z轴旋转 飞机的航向角 二、Get Forward Vector理解 测试&#xff1a; 运行&#xff1a; 三、Get Actor Rotation理解 运行效果&#xff1a; 拆分旋转体测试一&a…

Spring05 SpringIOC DI

名词解释 今天我们来介绍Spring框架的最重要的part之一 SpringIOC 和 DI 这里的SpringIOC 其实是容器的意思,Spring是一个包含了很多工具方法的IOC容器 什么是IOC呢? IOC其实是Spring的核心思想 Inversion of Control (控制反转) 可能这里你还是不理解这个是啥意思 其实就…

【LeetCode】128. 最长连续序列(Java自用版)

哈希集合 class Solution {public int longestConsecutive(int[] nums) {Set<Integer> set new HashSet<>();for (int num : nums) {set.add(num);}int ans 0;for (int num : set) {int cur num;if (!set.contains(cur - 1)) {while (set.contains(cur 1)) {c…

程序运行之ELF文件的段

更多精彩内容在公众号。 我们将之前的代码增加下变量来具体看下 在代码中增加了全局变量以及静态变量&#xff0c;还有一个简单的函数。 #include <stdio.h> int global_var1; int global_init_var; void func1(int i){ printf("%d\n",i); } int main(vo…

C++入门(一)

目录 命名空间&#xff1a; 为什么要提出命名空间&#xff1f; 命名空间的定义&#xff1a; 命名空间的使用&#xff1a; 加命名空间名称及作用域限定符&#xff1a; 使用using将命名空间中某个成员引入&#xff1a; 使用using namespace命名空间名称引用&#xff1a; C…