
编程
星空闪耀&
这个作者很懒,什么都没留下…
展开
-
软件编程规范
1 排版1-1:程序块要采用缩进风格编写,缩进的空格数为4个。(规定)说明:对于由开发工具自动生成的代码可以有不一致。1-2:不允许把多个短语句写在一行中,即一行只写一条语句。(强烈建议)示例:如下例子不符合规范。rect.length = 0; rect.width = 0;应如下书写rect.length = 0;rect.width = 0;注:nop()函数可以一行写多个,但最多不要超过5个。1-3:if、for、do、while、case、switch、default等语句自占原创 2020-07-07 14:27:31 · 946 阅读 · 0 评论 -
数据结构和内存中堆和栈的区别
...转载 2019-10-21 17:29:18 · 470 阅读 · 0 评论 -
按键处理函数
#define key_state_1 1#define key_state_2 2#define key_state_3 3#define key_no 0#define key_click 1#define key_double 2#define key_long 3#define key_input P30static unsigned char key_driver(...转载 2019-08-22 14:34:57 · 1910 阅读 · 0 评论 -
【按键】短按,长按,按键释放,三种模式的按键扫描程序(软件消抖动)
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-08-21 14:06:05 · 4231 阅读 · 1 评论 -
巧妙的按键扫描程序,只有三行代码
我非常坚信这种按键处理办法的便捷和高效,可以移植到任何一种嵌入式处理器上面,因为C语言强大的可移植性。同时,这里面用到了一些分层的思想,在单片机当中也是相当有用的,也是本文的另外一个重点。&nb...转载 2019-08-21 11:12:12 · 2504 阅读 · 0 评论 -
堆在ROM还是RAM?
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-08-14 15:10:38 · 1381 阅读 · 1 评论 -
c/c++中内存区域划分大总结
一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-...转载 2019-04-17 20:21:07 · 253 阅读 · 0 评论 -
【C语言】让你不再害怕指针——C指针详解(经典,非常详细)
前言:复杂类型说明 要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样,所以我总结了一下其原则:从变量名处起,根据运算符优...转载 2018-12-24 11:08:45 · 341 阅读 · 0 评论 -
输入捕获,输出比较
转自:https://www.cnblogs.com/alantechnique/p/5655350.html转载 2018-12-03 21:14:33 · 1322 阅读 · 0 评论 -
对单片机中时钟的理解:
1.概述简单的说,时钟是单片机的脉搏,是单片机的驱动源,使用任何一个外设都必须打开相应的时钟。这样的好处是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果。每个时钟tick,系统都会处理一步数据,这样才能让工作不出现紊乱。2.原理首先,任何外设都需要时钟,51单片机,stm32,430等等,因为寄存器是由D触发器组成的,往触发器里面写东西...原创 2018-10-29 20:16:08 · 45508 阅读 · 13 评论 -
抽象数据类型(ADT)
一、抽象数据类型定义(ADT)作用:抽象数据类型可以使我们更容易描述现实世界。例:用线性表描述学生成绩表,用树或图描述遗传关系。定义:一个数学模型以及定义在该模型上的一组操作。关键:使用它的人可以只关心它的逻辑特征,不需要了解它的存储方式。定义它的人同样不必要关心它如何存储。例:线性表这样的抽象数据类型,其数学模型是:数据元素的...转载 2018-09-17 19:07:13 · 3726 阅读 · 0 评论