嵌入式开发基础掌握
程序员文章站
2022-06-09 09:42:06
...
最近听了清华大学物理系曾鸣老师的嵌入式课程,就课程中的知识进行总结。
-
微控制器软件开发过程中的各种文件
(1)C编译器:生成C语言对应的汇编代码
(2)汇编编译器:将汇编文件变为0/1代码
(3)目标文件:此时仍是逻辑的,并未与逻辑一一对应
(4)链接配置文件:规定内存、flash、RAM的具体分配,譬如那个地址段放变量,那个地址段放堆栈
(5)映射文件:指出每个变量、堆栈的具体空间,譬如每个变量对应的地址范围 -
C语言的数据类型
-
嵌入式的重定义:typedef
C语言不同的数据类型在不同位数的平台上对应不同的长度,例如long int在32位,64位分别对应长度为4,8,为了保证同一工程能在不同平台上均能运行,因此我们只需要使用typedef重定义同一数据类型的长度,例如:typedef int uint_16t。
因此,总结如下:
4.C语言的位操作
C语言的位操作如下所示:
C语言中使用固定的掩码来进行位运算
(1)判断位状态:0/1
上面代码的作用为判断uchar_var第四位即bit3的位值是0/1
(2)提取某几位的值
提取变量的低四位的值:与低四位为1其他位为0的掩码&
提取变量的高四位的值:用高四位为1其他位为0的掩码与变量&后,右移4位
(3)移位
uchar_var = 0x43;
//左移4位
uchar_var >> = 4;
//右移4位
uchar_var << = 4;
(4)清0
下一篇: python3编码的转换