摘要:
规则5.1 用宏定义表达式时,要使用完备的括号 #define RECTANGLE_AREA(a,b) ((a)*(b)) 规则5.2将宏定义的多条表达式放在大括号中 说明:更好的方法是多条语句写成do while(0)的方式。 示例: #define F00(x) do{ printf("arg 阅读全文
摘要:
规则5.1 用宏定义表达式时,要使用完备的括号 #define RECTANGLE_AREA(a,b) ((a)*(b)) 规则5.2将宏定义的多条表达式放在大括号中 说明:更好的方法是多条语句写成do while(0)的方式。 示例: #define F00(x) do{ printf("arg 阅读全文
摘要:
原则6.2 要时刻注意易混淆的操作符 建议5.3 建议宏定义中尽量不使用return,goto,continue,break等改变流程的语句 规则6.2 禁止内存泄漏 规则6.3 禁止引用已经释放的内存空间 规则6.4 编程时要防止差1错误 原则6.3 必须了解编译系统的内存分配方式,特别是编译系统 阅读全文
摘要:
1.IIC协议是什么? 集成电路总线,它是一种串行通信总线 2.IIC用来干什么? 一个IIC总线上可以挂载多个设备,常用的串行通信协议有:UART串口通信,IIC协议,SPI协议,USB协议 3.常用的并行通信协议有:8080,6800 IIC协议的通信过程 SDA:数据信号线,用于传输数据 SC 阅读全文
摘要:
1.Stack-栈 开辟栈的大小为0x00000400(1KB) ,名字为STACK,NOINIT即不初始化,可读可写。栈的作用是局部变量,函数调用,函数形参等开销,栈的大小不能超过内部SRAM的大小。 EQU相当于Define AREA 告诉汇编器汇编一个新的代码段或者数据段。 SPACE 用于分 阅读全文
摘要:
1.汇编编写启动文件 starup_stm32f10x_hd.s 设置堆栈指针,设置PC指针,初始化中断向量表,对应C库函数 2.时钟配置文件 system_stm32f10x.c:把外部时钟HSE=8M,经过PLL倍频为72M 3.外设相关的 stm32f10x.h 实现了内核之外的外设的寄存器映 阅读全文
摘要:
组合逻辑电路的分析(代数法): 1.根据给定组合逻辑电路的逻辑图,从输入端开始,逐级推导出输出端的逻辑函数表达式; 2.由输出函数表达式,列出它的真值表; 3.从逻辑函数表达式或真值表,概括出给定组合逻辑电路的逻辑功能。 加法器 8421码加上0011变成余三码(VCC高电平,低电平接地) 余三码变 阅读全文
摘要:
1.寄存器的简接寻址方式,寄存器间接寻址,操作数应在主存单元之中。直接寻址,直接给出内存单元的物理地址/虚拟地址。间接寻址,第一次是得到某个特定内存单元里的地址数据,第二次在将得出的地址进行DS+偏移地址H的运算 2.指令周期:指令周期是取出一条指令并执行这条指令的时间。一般由若干个机器周期组成。 阅读全文
摘要:
1.位:我们常说的bit,位就是传说中提到的计算机中的最小数据单位,说白了就是0或者1;计算机内存中的存储都是01这两个东西 字节:英文字母btye byte是存储空间的基本计量单位,1byte存一个英文字母,2byte存一个汉字,规定上是一个字节等于八个比特(1byte=8bit) 字:字就是由一 阅读全文
摘要:
1.判断ip地址是否合法 2.关于ICMP报文的说法,ICMP报文封装在IP数据包的数据部分,ICMP是IP协议的必需的一个部分,ICMP可用来进行拥塞控制 3.TCP采用超时重传和肯定确认(捎带一个分组的序号)技术来实现可靠数据流的传送。 4.TCP 采用超时重传的差错控制技术,超时重传时间的设置 阅读全文
|