1、初始化:int a=b=c=1; 【错误】,b,c未定义。
2、操作符的参数类型不正确的时候,出现编译错误。【%运算符的两个参数都是整数类型】
3、八进制:前面有个0 a=010;【a=8】
4、联合体的定义方式和变量定义方式与结构体一样。里面是分号。枚举里面是逗号。
26、ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。R0-R7非分组寄存器,R8-R14分组寄存器,R15(PC)。(分组寄存器即不同的模式下使用不同的物理寄存器)
35、关于程序的加载地址和运行时地址:
运行时地址和加载地址不一定相同;运行时地址和加载地址时程序链接时决定的
38、ar指令 :GCC中与库文件先关的指令
52、float:8位用作指数,指数取值范围-127--128;23位位数+一位位数符号。至少可以表示6位有效数字。
double:一些系统将增加的32位全部用于尾数,增加精度,增加了可以表示的有效数字。
63、不能比较两个联合体,也不能比较两个结构;相同类型的结构或联合体可以相互赋值初始化,但是不能直接使用==比较两个结构体变量是否相等。
typedef:没有定义新的数据类型,而是用来定义一种新的类型的别名。
75、有n个进程共享一个临界资源,使用信号量机制实现资源的访问互斥,信号量的最小取值是(-n+1)
79、IIC的引脚是开漏输出模式,因此SCK SDA 都需要加上拉电阻。
90、波特率指信号每秒的变化次数。比特率指每秒可传输的二进制位数。在无调制的情况下,波特率精确等于比特率。采用调相技术时,波特率不等于比特率。
101、无符号数和有符号数混合运算,所有的变量都看成无符号数,输出结果也是无符号数。有无符号是人为规定的,计算机内存中中存储的都是补码(只不过正数和0的补码等于原码),汇编语言中没有符号的概念。C语言汇编器将C中的数据根据关键字标识转换成响应的补码,存储。
104、ARM指令状态和Thumb指令状态:
107、多线程同步【区别于内核同步】
110、日志文件系统: