分享7道嵌入式面试题,你会几道?
原文中文,约3800字,阅读约需10分钟。
📝
内容提要
static关键字的作用包括修饰局部变量、全局变量、函数、成员变量和成员函数。volatile关键字用于修饰多线程访问的变量。sizeof()计算内存占用字节数,strlen()计算字符串字符个数。浮点数比较时推荐使用范围。IIC协议是一种串行通信协议,包括起始和停止条件、总线裁决、数据位有效性规定等。从机地址和主机地址根据硬件连接确定。
❓
Q&A
static关键字在局部变量中的作用是什么?
static关键字将局部变量转变为静态变量,其生命周期与程序相同,只初始化一次。
volatile关键字的主要用途是什么?
volatile关键字用于修饰多线程访问的变量,防止编译器优化导致数据不一致。
sizeof和strlen有什么区别?
sizeof是运算符,计算内存字节数;strlen是函数,计算字符串字符个数,且只适用于以' '结尾的字符串。
如何比较两个浮点数是否相等?
推荐使用范围比较,定义一个小的误差值EPSILON,判断两个浮点数的差是否在该范围内。
在中断中使用浮点运算会有什么影响?
在中断中使用浮点运算可能导致数据错误,因为会影响TCP通讯线程的数据处理。
IIC协议的基本工作原理是什么?
IIC协议通过两条线进行串行通信,主机发送起始信号和停止信号,数据在时钟信号的控制下传输。
🏷️