嵌入式基础小知识
记录日常遇到的问题和参考答案
嵌入式基础
Q1:什么是 volatile?什么时候用?
答:volatile 告诉编译器该变量可能在程序控制之外被修改(如硬件寄存器、中断服务程序),每次访问都要从内存读取,不能做优化。
典型场景:硬件寄存器、多线程共享变量、ISR 中修改的变量。
Q2:栈和堆的区别?
答:
- 栈:函数局部变量、自动分配/释放、LIFO、空间小、速度快
- 堆:malloc 申请、手动 free、随机分配、空间大、速度慢
Q3:(待补充)
RTOS 相关
Q1:任务调度有哪些方式?
答:时间片轮转、优先级抢占、协作式。
Q2:(待补充)
项目相关
(根据你的项目,提前准备好「项目难点」「如何解决」的话术)