我嘞个豆,会了这些是不是就无敌了

从事嵌入式,纯技术涉及到的内容主要是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.信号量一般作为标志位使用。

附面经
全部评论

相关推荐

11-30 17:28
已编辑
长安大学 Java
小恐龙CJ:联通数科我同门说,进去后可能会被喊去干运维(举个例子,招了六个java开发,2个java4个运维)。不确定真的假的,老哥最好是注意一下。
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务