关键字及其定义
(1) char :声明字符型变量或函数
(2) double :声明双精度变量或函数
(3) enum :声明枚举类型
(4) float:声明浮点型变量或函数
(5) int: 声明整型变量或函数
(6) long :声明长整型变量或函数
(7) short :声明短整型变量或函数
(8) signed:声明有符号类型变量或函数
(9) struct:声明结构体变量或函数
(10) union:声明联合数据类型
(11) unsigned:声明无符号类型变量或函数
(12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
(1) for:一种循环语句(可意会不可言传)
(2) do :循环语句的循环体
(3) while :循环语句的循环条件
(4) break:跳出当前循环
(5) continue:结束当前循环,开始下一轮循环
(1)if: 条件语句
(2)else :条件语句否定分支(与 if 连用)
(3)goto:无条件跳转语句
(1)switch :用于开关语句
(2)case:开关语句分支
(3)default:开关语句中的“其他”分支
return :子程序返回语句(可以带参数,也看不带参数)
(1)auto :缺省,声明自动变量,一般不使用
(2)extern:声明变量是在其他文件声明(也可以看做是引用变量)
(3)register:声明寄存器变量,能实现对变量的快速访问
编译器会尽量安排CPU中的寄存器存放该修饰的变量,但CUP寄存器满了的时候,变量会存在存储器中。另外,不能对该修饰符修饰的变量进行取址(&)操作
(4)static :声明静态变量
该修饰符的特点是对该修饰符修饰的变量只能初始化一次,且该数据类型的数据不会被释放
(5)const :声明只读常量,但是通过某些方法也能改变常量
该修饰符相对于宏定义(#define)的优点在于可以节省空间,const定义常量从汇编的角度来看,只是给出了对应的内存地址,而不是象#define一样给出的是立即数,所以,const定义的常量在程序运行过程中只有一份拷贝(因为是全局的只读变量,存在静态区),而 #define定义的常量在内存中有若干个拷贝
(6)volatile:说明变量在程序执行中可被隐含地改变,每一次对该类型变量的读取都会直接从地址处读取,不会被编译器优化
(1)NMI:不可屏蔽中断
(2)NVIC:嵌套向量中断控制器
(3)存储器映射:存储器映射是指把芯片中或芯片外的FLASH,RAM,外设,BOOTBLOCK等进行统一编址。即用地址来表示对象。
(4)bootblock:主板上的引导块Boot Block,BOOTBLOCK是BIOS中一段特定的区域,包含有用于引导的最小指令集,正常的BIOS升级操作不能消除这段信息。
(5)互斥访问:假设有 A、B 两个线程都去调用对象 α 的方法 method1(),并且要求 A、B 两个线程是互斥调用 method1 的。具体来说,假设 method1 中有 4 个命令,一旦 A 调用了 method1,在执行 method1 中有 4 个命令的时候,B 不会调用 method1 方法,反之,依然。
(6)ARM的指令集:32位的ARM指令集、16位的Thumb指令集(是ARM指令集的一个子集,能有效提高代码密度)、16位于32位并存的Thumb-2指令集(是Thumb的一个超集)。
(7)MPU:存储保护单元。
(8) 哈佛结构:哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。
(9) 冯诺依曼结构:冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。
(10)影子寄存器:在不同的模式下,同样的几个比特位指向不同的物理寄存器,这些不同的物理寄存器就被称之为影子寄存器。
R0-R12 为通用寄存器组,需要注意的是,对于大多数16位的Thumb指令只能访问R0-R7,而32位的Thumb-2则可以访问所有寄存器。
R13 用于存放堆栈指针地址,是一个影子寄存器,同一时刻,只能是主堆栈指针(MSP)和进程堆栈指针(PSP)两个中的一个。
R14 是连接寄存器,用于呼叫一个子程序时,存放返回地址。
R15 是程序计数寄存器,用于指向当前的程序地址。如果修改它的值,可以改变程序的执行流程(高级技巧)。
(12)ALU(arithmetic and logic unit):算术逻辑单元。
(13)关于定时器的定时时间的计算方法:
stm32系统的时钟源有HSE(高速外部时钟)、HSI(高速内部时钟)、LSI(低速内部时钟)、LSE(低速外部时钟)、PLL时钟。
通过配置RCC的各个寄存器,可以实现各个时钟时钟的灵活配置(具体体现在SystemInit函数中)。
(1)ini文件:.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了。
(2)DLL文件:DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。
(1)修斯底德陷阱:“修昔底德陷阱”,是指一个新崛起的大国必然要挑战现存大国,而现存大国也必然会回应这种威胁,这样战争变得不可避免。
(2)唯物主义:唯物论,哲学理论,肯定世界的基本组成为物质,物质形式与过程是我们认识世界的主要途径,持着只有事实上的物质才是存在的实体的这一种观点,并且被认为是物理主义的一种形式。
(3)唯心主义:唯心主义的基本含义,是在思维和存在、精神和物质的关系这个哲学基本问题上,认为精神(意识)第一性,物质第二性,精神决定物质,物质是精神的产物。
(4)方法论:方法论是一种以解决问题为目标的理论体系或系统,通常涉及对问题阶段、任务、工具、方法技巧的论述。方法论会对一系列具体的方法进行分析研究、系统总结并最终提出较为一般性的原则。
(5)世界观:世界观(World Views)是人们对整个世界以及人与世界关系的总的看法和根本观点。
(6)一元论:一元论(Monism)是认为世界只有一个本源的马原哲学学说,是本体论的分支。
(7)二元论:二元论(一)认为多样性世界有两个不分先后、彼此独立、平行存在和发展的本原的哲学学说。
(8)主观能动性:主观能动性亦称“自觉能动性”,它指人的主观意识和实践活动对于客观世界的能动作用。主观能动性有两方面的含义: 一是人们能动地认识客观世界;二是在认识的指导下能动地改造客观世界。在实践的基础上使二者统一起来,即表现出人区别于物的主观能动性。
(9)可知论:可知论是认为世界可以认识的哲学学说,同不可知论相对立。一切尚未被认识的事物终究会被认识。世界上只有尚未被认识之物,不存在不能认识之物。
(10)不可知论:它与可知论相对,是一种哲学的认识论,除了感觉或现象之外,世界本身是无法认识的。它否认客观规律,排除社会实践的作用,可世界是客观统一的,未经实践即进行先验判断即自我否定。
(11)马克思主义哲学:马克思主义哲学是一种社会经济学的分析手段,擅长于用矛盾冲突的观点分析社会中利益存在冲突的社会群体,是一套“经典”的社会学理论。
(12)同一性:矛盾的同一性是指矛盾着的对立面相互之间不可分割的联系,是对立面之间相互联结、相互吸引、相互渗透的倾向。 同一性是指两种事物或多种事物能够共同存在,具有同样的性质。
(13)相对主义:相对主义(relativism),是一种认为观点没有绝对的对与错,只有因立场不同、条件差异而相互对立的哲学学说。
(14)绝对主义:绝对主义把事物绝对化,认为一切事物都是从来如此,永远如此,不承认一切过程都有始有终,一个过程可以转化为另一个过程。
(15)诡辩论:诡辩论是违背逻辑规律而做的一种似是而非的推理和论证。
(16)知行合一:知行合一,是指客体顺应主体,知是指良知,行是指人的实践,知与行的合一,既不是以知来吞并行,认为知便是行,也不是以行来吞并知,认为行便是知。
(1)数据库事务:是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。
(2)机器学习的目标:通过对过往数据样本的分析预测未来。
(3)机器学习和数据分析的区别:数据分析需要依赖于有经验的专家对过往数据进行分析,这种方式容易有主观意识强、不适用于海量数据的缺点;而机器学习依赖的是通过数据推理和验证来找到适合数据的数学模型,是一个由计算机程序推导数据算法的一个过程。