摘要: TIM_TimeInit();函数中有一个成员为TIM_RepetitionCounter,使用时需要给它赋值,让定时器多溢出X次才中断! 阅读全文
posted @ 2017-03-06 10:53 梦提三尺剑 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1.原理图:先按D,再按O。在右边选择纸张大小。 2.PCB:先按D,再按O。在sheet positions中可设置width/hesight。 阅读全文
posted @ 2017-02-01 22:15 梦提三尺剑 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 位操作 位操作的必要性:通过串口或并口与其他器件相连 &按位与 |按位或 ^按位异或:两位相异时为1,相同时为0. 上述三个操作满足结合律和交换率。 左移运算符:<<将要运算的二进制位左移 规则:高位丢弃,低位补0. 使用格式: int a = 1<<1; a = 2; 右移运算符:>>讲要运算的二 阅读全文
posted @ 2017-01-15 11:21 梦提三尺剑 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 单引号和双引号 C语言单引号用来表示字符常量,双引号用于表示字符串常量。 “a”表示字符串常量,在内存中占两个字节。“a”+1表示指针运算,指向“a”结束符‘\0’。 把一个32位的数据给char类型数据赋值,char类型数据的值只有后八位。 本质上单引号括起来的一个字符表示整数,双引号括起来的字符 阅读全文
posted @ 2017-01-12 15:37 梦提三尺剑 阅读(7761) 评论(0) 推荐(0) 编辑
摘要: 接续符和转义符 接续符:\,是指示编译器行为的利器。 告诉编译器这一行尚未结束,下一行仍接上上一行。 接续符的使用:编译器将反斜杠剔除,跟在反斜杠后面的字符自动解到前一行。 在接续单词时,反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格 接续符适合在定义宏代码块时使用。 宏代码块的定义(化长为短 阅读全文
posted @ 2017-01-12 12:52 梦提三尺剑 阅读(157) 评论(0) 推荐(0) 编辑
摘要: /* */ 被编译器用一个空格代替, // ajglagjlkgjl 后面加一个 \ (相当于换行) jkldgjhdgjklg 这些也是注释 编译器在编译过程中删除注释,并用一个空格代替。 编译器认为双引号括起来的内容都是字符串,双斜杠也不例外,所以“/* */”型注释不能被嵌套。 Y = x/* 阅读全文
posted @ 2017-01-11 22:07 梦提三尺剑 阅读(335) 评论(1) 推荐(0) 编辑
摘要: enum是一种自定义类型 enum默认常量在前一个值的基础上依次++ enum变量只能取定义时的离散值 enum Color { GREEN, RED , //常量! BLUE }; 啥都不写第一项赋值为0,然后依次+1 enum Color { GREEN, RED = 11 , //常量! BL 阅读全文
posted @ 2017-01-11 11:17 梦提三尺剑 阅读(513) 评论(0) 推荐(0) 编辑
摘要: const修饰变量 C语言中,const修饰的变量是只读的,本质还是变量,修饰的变量也会在内存中占用空间(这不废话么)本质上const只对编译器有用,在运行时无用。const和类型顺序无要求,一般类型在前,const在后。 const修饰的数组是只读的,修饰的数组空间不可被改变。 const int 阅读全文
posted @ 2017-01-09 17:02 梦提三尺剑 阅读(822) 评论(0) 推荐(0) 编辑
摘要: 高手潜规则:禁用goto 程序质量与goto出现次数成反比 void指针的意义 1.C语言规定只有相同类型的指针才可以相互赋值 2.void*指针作为坐值用于“接收”任意类型的指针 3.void*指针作为右值赋给其它指针时需要强制转换类型。 int *pI = (int*)malloc(sizeof 阅读全文
posted @ 2017-01-09 12:03 梦提三尺剑 阅读(203) 评论(0) 推荐(0) 编辑
摘要: if语句用于根据条件选择执行语句 else不能独立存在并且总是与它最近的if相匹配else语句后可以接其他if语句。 PS:英文condition表示条件 if语句中零值的比较: (1)bool型变量直接出现在括号里 (2)普通变量和常量比较时,常量出现在比较符号左边 if(0 == i) 为了防止 阅读全文
posted @ 2017-01-08 22:45 梦提三尺剑 阅读(209) 评论(0) 推荐(0) 编辑