我嘞个豆,会了这些是不是就无敌了
从事嵌入式,纯技术涉及到的内容主要是C语言、arm、STM32驱动、FreeRTOS、Lwip等等。电子电气方向涉及到的主要是:485、232、串口、DCDC\ACDC、网络通信、数据处理。
C语言:
1.static 关键字的作用、使用方式:
全局静态变量:
全局静态变量使用范围是该.c文件所有位置。
局部静态变量:
局部静态变量使用范围是该函数,且只会在初始化时申明一次,后续变化只能通过赋值。
静态函数:
函数调用范围只限制于该.c。
2.volatile关键字的作用:
笼统的讲,volatile关键字就是让程序每次都去寄存器中获取该字段的值,保证了数据变量的准确性。
什么时候用到该关键字?
1.变量是全局变量,且多个线程同时操作该变量的时候。
2.中断中处理的数据变量。
3.硬件寄存器中的数据。
3.const关键字的作用:
4.main函数之前进行了什么操作?
简单来说就是各种初始化操作。
5.堆和栈有什么区别?
什么是堆?什么是栈?他们之间有什么区别和联系? -
STM32:
1.串口数据接收是怎么处理的?
串口数据处理有两种方式:
1.通过串口中断接收到数据后,将数据放置环形缓存或队列中,待数据处理函数进行处理时进行处理。(RTOS)
2.通过轮询,时间片方式调度串口寄存器判断是否有数据,有数据则放入缓存待处理。(裸机)
FreeRTOS:
1.简述一下什么是RTOS系统
FreeRTOS为例,RTOS系统是以抢占优先级为主,时间片为辅实现任务调度的操作系统,主要核心上实现的是任务调度的功能,使任务具有实时性。
2.在任务中怎么进行数据传输?什么方式?
任务间数据传输一共有三种形式,用的最多的是消息队列,其次是全局变量和信号量。
1.消息队列发送数据的方式可以是发送数据本身和发送数据的地址指针。
2.全局变量使用供所有任务获取和处理,但全局变量占用内存较多,而且不好管理。
3.信号量一般作为标志位使用。
附面经
C语言:
1.static 关键字的作用、使用方式:
全局静态变量:
全局静态变量使用范围是该.c文件所有位置。
局部静态变量:
局部静态变量使用范围是该函数,且只会在初始化时申明一次,后续变化只能通过赋值。
静态函数:
函数调用范围只限制于该.c。
2.volatile关键字的作用:
笼统的讲,volatile关键字就是让程序每次都去寄存器中获取该字段的值,保证了数据变量的准确性。
什么时候用到该关键字?
1.变量是全局变量,且多个线程同时操作该变量的时候。
2.中断中处理的数据变量。
3.硬件寄存器中的数据。
3.const关键字的作用:
4.main函数之前进行了什么操作?
简单来说就是各种初始化操作。
5.堆和栈有什么区别?
什么是堆?什么是栈?他们之间有什么区别和联系? -
STM32:
1.串口数据接收是怎么处理的?
串口数据处理有两种方式:
1.通过串口中断接收到数据后,将数据放置环形缓存或队列中,待数据处理函数进行处理时进行处理。(RTOS)
2.通过轮询,时间片方式调度串口寄存器判断是否有数据,有数据则放入缓存待处理。(裸机)
FreeRTOS:
1.简述一下什么是RTOS系统
FreeRTOS为例,RTOS系统是以抢占优先级为主,时间片为辅实现任务调度的操作系统,主要核心上实现的是任务调度的功能,使任务具有实时性。
2.在任务中怎么进行数据传输?什么方式?
任务间数据传输一共有三种形式,用的最多的是消息队列,其次是全局变量和信号量。
1.消息队列发送数据的方式可以是发送数据本身和发送数据的地址指针。
2.全局变量使用供所有任务获取和处理,但全局变量占用内存较多,而且不好管理。
3.信号量一般作为标志位使用。
附面经
c++/嵌入式面经专栏-牛客网
https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fcreation%2Fmanager%2FcolumnDetail%2FMJNwoM
全部评论
相关推荐
_hengheng:我也本,也算是做ai相关,我最开始感觉做ai工程师有多么多么困难,后来发现懂了原理后整体训练完全可以看成一个流程化的内容,开源方案太多了,大多基本都是按着模子在自家业务上做各种操作,就算是大厂的小部门也没那么多资源去训基模,反而更多的是像怎么把技术往业务方向靠近了,不过当前时代如果本科学历没那么好加上自己执行力不是特别强还真不建议走ai工程师这条路,可以试试其他ai的偏业务方向,不然校招不太好杀出来 点赞 评论 收藏
分享
04-02 19:24
武汉城市学院 测试工程师 点赞 评论 收藏
分享
查看13道真题和解析