- 博客(55)
- 资源 (16)
- 收藏
- 关注
原创 C++ 06 多态
/*一、多态性的概念polymorphism 多态性是面向对象程序设计的一个重要特征。一种语言如果只支持类而不支持多态,只能说是基于对象的,不能被称为面向对象的。 1、多态,指一个事物有多种形态。C++中,多态性是指具有不同功能的函数可以用同一个函数名来调用。 2、表述:向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为(方法),用各自的方式去响应共同的消息。 消息,指调用函数;不同的行为是指不同的实现。#如函数的重载,运算符的重载都是多态现象。如学校校长向社会发布一个消息——开学.
2021-08-22 12:12:38 393
原创 C语言13 指针与数组2=数组名的本质+数组名作首地址+数组做函数参数+sizeof指针
一、数组名的本质(1)数组名指代一种数据结构,这种数据结构就是数组;例如:char str[10];cout << sizeof(str) << endl;输出结果为10,str指代数据结构char[10]。(2)数组名可以转换为指向其指代实体的指针,而且是一个指针常量,不能作自增、自减等操作,不能被修改;char str[10];str++; //编译出错,提示str不是左值 (3)数组名作为函数形参时,沦为普通指针。Windows NT .
2021-08-07 21:15:05 499
原创 C++ 04运算符重载
//#define _NO_OVERLOADING_ADD_COMPLEX_ //不用重载,使用函数//#define _OVERLOADING_ADD_COMPLEX_ //复数加号重载//#define _OVERLOADING_ADD_COMPLEX_FRIEND //友元函数作为重载函数//#define __OVERLOADING_TWO_OPERATOR__ //重载双目运算符//#define __OVERL...
2021-08-07 09:21:00 272
原创 C语言12 指针基本操作2+指针与数组
===================数组和指针的基本关系: 数组大小和起始地址指针1、C语言只有一维数组,而且其大小必须在编译期间确定下来。 但是其组元素可以是任何类型,如另外的数组。因此可以构建多维数组。2、对一个数组,只可确定其大小,以及获得指向组下标为0的元素的指针。 其他的关于数组的操作,如组下标等,也是经由指针进行的,二者是等价的。3、int calender[12][31]; sizeof(calender) = 12*31*4; 除了sizeof...
2021-08-06 16:03:36 327
原创 C++编程原则
1、先搭框架,逐步扩充,由简到繁,最后完善。 边编程,边调试,边扩充。先编写出最简单的程序框架,成一个可供运行的程序。不要企图在一开始就解决所有的细节。类是可扩充的,可以一步步地扩充它的功能。直接写好程序,每一步都要调试,调试通过了前面一步在做下一步,步步为营。2、类的设计和主函数的精简。 面向对象的程序设计中,最关键的工作是类的设计,所有的数据和数据的操作都是在类中完成。只要把类定义好,编程工作就简单了。 主函数精简,只是调用对象的成员函数,完成相关操作。大多数情况下...
2021-08-06 10:14:43 185
原创 new concept 3 = 09Flying cats
Cats never fail to fascinate human beings. They can be friendly and affectionate towards humans, but they lead mysterious lives of their own as well. They never become submissive like dogs and horses. As a result, humans have learned to respect feline inde
2021-08-06 09:36:05 163
原创 C语言11 内存指针操作+函数指针+typedef
///////////////////////////////////////////指针访问内存1、内存地址理解{ unsigned char *p1; unsigned long *p2; p1=(unsigned char *)0x801000; p2=(unsigned long *)0x810000;}请问p1+5=? ;p2+5=? ;答:p1+5=0x801005;p2+5=0x810014;在32位系统中,字...
2021-08-05 16:43:03 1004
原创 C语言10 指针基本操作+引用+指针分配内存GetMemory
1、一个32位的机器,该机器的指针是多少位?可以访问多大的地址空间?答:32bit 2^32 = 4G 地址总线宽度决定了CPU可以访问的物理地址空间.简单地说就是CPU能够使用多大容量的内存.对于386以上的微机系统.地址线的宽度为32位.最多可以直接访问4096MB (4GB)的物理空间。指针即是地址值,地址的编号。指针是多少位只要看地址总线的位数就行了。80386以后的机子都是32的数据总线。所以指针的位数就是4个字节了。8位处理器、16位处理器、32位处理器和64位处理器,...
2021-08-05 16:33:51 323
原创 C语言08 flash存储分配+程序运行内存分配
一、从stm32引入理解1、MDK编译log:Program Size: Code=72072 RO-data=6864 RW-data=1316 ZI-data=8684Code是存储程序代码的;(删掉代码中未使用的函数等以节省flash空间)RO-data 是存储const常量和已初始化的字符串等;(类比于文字常量区)RW-data 是存储可读写的初始化值不为0的全局变量和静态变量;(类比于其他平台的data段,数据保持在bin文件中)ZI-data是存储未初始化或...
2021-08-04 11:14:12 2005
原创 C语言09 static使用+全局变量和静态变量
1、关键字static有什么用途?1)设置变量的存储域2)限制变量的作用域3)限制函数的作用域1】静态局部变量:在函数体内,被声明为静态的变量在函数被调用过程中维持其值不变,其值在下次调用时仍维持上次的值。(不被释放,而且只要赋一次初始值,如果没有赋值的话会自动为0.) (存储方式-生存期的改变)2】静态全局变量:被声明为静态的全局变量可以被模块内所有函数访问,但不能被模块外其它函数访问。(限制作用域)3】静态函数:被声明为静态的函数只可被这一模块内的其它函数调用。(限制作用域)
2021-08-03 22:42:08 1196
原创 C语言07 预编译+define
一、理论1、什么是预编译,何时需要预编译?答: 预编译又叫预处理,指程序编译前的代码文本处理工作。主要指用#表示的预编译指令,有三种:编译器编译前拷贝#include包含的代码,#define宏定义的替换,条件编译等等。何时需要预编译?1)总是使用不经常改动的大型代码体。2)程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。2、为什么标准头文件都有类似以下的结构?#ifndef __INCvx
2021-08-02 17:41:30 724
原创 C语言06 const详解+const 和define的区别
1、C语言的关键字const的含义和用途。含义:const是只读的意思,被const修饰的东西都受到强制保护,只允许访问不允许被改变,可以预防意外的变动,能提高程序的健壮性。通过给编译器特定的附加信息,可以使编译器保护那些不希望被改变的参数,防止其被无意的代码修改。用途:(1)可以定义 const 常量。(2)可以修饰指针。(3)可以修饰函数的参数、返回值,甚至函数的定义体。2、const 用法:限定变量和指针(1)const int a;(2)int const .
2021-08-01 20:13:13 278 1
原创 C语言05 联合体和大小端
大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。=== === ====== === ====== === ===1、请写一个C函数,若处理器是Big_endian的,则返...
2021-07-25 22:28:15 292
原创 C语言04 volatile的使用
1、关键字volatile的含意? 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。 优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。举例如下:1)并行设备的硬件寄存器(如:状态寄存器)。2).一个中断服务子程序中会访问到的非自动变量(可能被突然调用)。3).多线程应用中被几个任务共享的变量(使用互斥锁)。2、一个变量可以既是const还可以是volatile吗?...
2021-07-25 10:26:41 111
原创 C语言03 位操作
1、置位和清零 嵌入式系统总是要对变量或寄存器进行位操作。给一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。#define BIT3 (0x1<<3)static int a;void set_bit3(void){ a |= BIT3;}void clear_bit3(void){ a &= ~BIT3;}2、移位和取值有一个16位的整数,...
2021-07-24 18:01:17 816
原创 C语言02 自加自减 i++
1、自增运算符的右结合性。2、请写出下列代码的输出内容 #include <stdio.h>int main(void) { int a,b,c,d; a=10; b=a++; c=++a; d=10*a++; printf("b,c,d:%d,%d,%d",b,c,d); return 0; } 10,12,1203、PC上VS运行结果:int j=1;cout<..
2021-07-23 23:05:12 235
原创 C++ 03从简单程序引入2
//#define CLASS_STUDENT//#define CLASS_TIME1//#define CLASS_TIME2#define CLASS_TIME3#ifdef CLASS_TIME3#include <iostream>using namespace std;class Time{public: void set_time(); void show_time();private: int hour; int minute; int..
2021-05-04 11:53:04 189
原创 C++ 02从简单程序引入1
//#define BASIC1_COUT#define BASIC1_CIN#ifdef BASIC1#include <iostream> //iostream代表输入输出流 //C的头文件要加.h后缀,C++的头文件可加可不加。using namespace std; //“使用命名空间std”。 //C++标准库中的类和函数是在std中声明的,程序如需要用到标准库(cout)要用此语句做声明。int main() //标准C++规定,..
2021-04-18 18:00:25 156
原创 C++01简介
1、计算机工作由什么控制? 程序2、程序是什么? 指令的集合3、指令是什么? 计算机可以识别的命令4、编程语言是什么? 软件工程师用来编写程序的指令集5、机器语言是什么? 计算机硬件系统可以识别的二进制指令集组成的语言,01016、汇编语言是什么? 将机器指令映射为易懂的助记符,如ADD等。7、高级程序语言的特征? 屏蔽了机器的细节,提高语言的抽象层次。8、面向对象的语言的特点:对象-类-重用1]将客观事物看作具有属性和行为的对象;2]通过抽象找出同一类对象的共...
2021-04-18 16:46:25 224
原创 ARM9 2440裸机驱动03 KEY轮询和中断两种方法+按键去抖动去重复+gpio红外去抖
==========摘要===========1、按键轮询:寄存器:rGPGCON; rGPGUP;rGPGDAT函数列表:key_init; key_poll;get_value;2、按键中断:(1)函数列表:key_init; key_irq; get_value;中断配置流程:=>按键本身gpio配置EINT mode(rGPGCON);=>EXTINT使能中断脚配置对应的gpio=>EINTMASK外部中断掩码寄存器配置对应的gpio=&
2021-03-07 10:17:44 617
原创 ARM9 2440裸机驱动01 LED+GPIO
======简要======1、主线程: while 和 DELAY_MS2、文件归类和头文件3、编程规范:统一格式4、编程规范:函数布局-初始化和功能接口5、编程规范:寄存器操作 volatile6、单个LED的闪烁操作======================1、主线程里面main函数: 必须有一个while(1);2、最简便的延时程序,使用cpu本身的for:void Delay_MS( unsigned int time){ unsigned int.
2021-03-05 22:54:02 156
原创 new concept 3=08 A famous monastery
Lesson 8A famous monastery著名的修道院 The Great St. Bernard Pass connects Switzerland to Italy. At 2,470 metres, it is the highest mountain pass in Europe. The famous monastery of St. Bernard, whi...
2019-08-06 11:36:32 538
原创 linux 5 存储结构与磁盘划分
一、一切从 / 开始linux中一切都是文件,目录、字符设备、块设备、套接字、打印机都被抽象成文件。linux中的一切文件都是从“根/”目录开始的,并按照文件系统层次化标准FHS采用树形结构来存放文件。FHS是存储文件时需要遵守的规则,但对用户只是道德上的约束并没有在技术上限制。FHS, filesystem hierarchy standard,文件系统层次化标准。----...
2019-04-23 17:12:41 221
原创 new concept 3=07 Mutilated ladies
Mutilated ladies残钞鉴别组 Has it ever happened to you? Have you ever put your trousers in the washing machine and then remembered there was a large bank note in your back pocket? When you rescued y...
2019-04-20 17:02:39 783
原创 C语言01 编程疑难
1、限定整数b在整数a和整数c之间:if(a<b<c)错;应该是 if((a<b) && (b<c))@a<b<c在c语言中的解释是,a<b先会返回一个值,如果a<b为真则返回1,为假返回0,然后再进行1<c或0<c的运算。2、结构体定义技巧32位MCU,地址总线和数据总线都是32位,以32位为单位存储。...
2019-04-19 23:00:49 215
原创 linux 04 用户身份与文件权限
一、用户身份与管理能力1、root相关: root管理员相当于超级用户,拥有最高的系统所有权。推荐使用root操作,避免难以判断是系统自身的问题,还是因为权限不足导致的。2、root之所以是操作管理员,因为其UID为0。UID相当于身份证号,具有唯一性,通过UID来判断用户身份。#iduid=0(root) gid=0(root) groups=0(root)3、用户身...
2019-04-19 09:19:20 262
原创 linux 03 vim编辑器和shell命令脚本
一、VIM文本编辑器1、三种工作模式:命令行模式、末行模式和编辑模式进入vim:vim xxx.sh[1]命令行模式:控制光标移动,可用快捷方式对文本进行复制、粘贴、删除和查找。[2]输入模式:正常文本输入。[3]末行模式:保存或退出文档,以及设置编辑环境。一进入vim,进入的是命令模式。需要切换到输入模式,进行文本编辑,编辑后要先返回命令模式,进行文档保存或退...
2019-04-14 15:09:24 305
原创 linux 02 管道符+重定向+环境变量
////////////////////1、tee命令作用:将命令的执行结果输出到终端,同时又将输出的内容写入文件。格式:#ping www.baidu.com | tee output.txt //只有标准输出和写入文件#make -j12 2>&1 | tee build.log //标准输出和错误输出,都写入文件(1)追加到文件而不是覆盖: tee -a...
2019-03-26 14:46:42 209
原创 短诗整理5—景物+记事
=======================山村1、 山村咏怀宋代:邵雍一去二三里,烟村四五家。亭台六七座,八九十枝花。2、村居清代:高鼎草长莺ying飞二月天,拂堤di杨柳醉春烟。儿童散学归来早,忙趁东风放纸鸢yuan。3、所见清代:袁枚牧童骑黄牛,歌声振林樾。意欲捕鸣蝉,忽然闭口立。============================小...
2019-03-09 21:53:21 170
原创 linux 01 常用命令整理
///////////////////////////////////////系统查询0、帮助命令 man#man + 查看的命令========================1、查看内核和系统版本(1)查看系统内核名称,主机名,内核版本号等#uname -a#uname -r ( 内核版本号)(2)查看内核版本号#cat /proc/version...
2019-03-02 00:07:12 725
原创 new concept 3=06--Smash-and-grab
Smash-and-grab砸橱窗抢劫Listen to the tape then answer the question below.听录音,然后回答以下问题。How did Mr. Taylor try to stop the thieves?The expensive shops in a famous arcade near Piccadilly were ju...
2019-03-01 22:56:20 457
原创 linux & android环境搭建=virtualbox+ubuntu
@起因:编译从服务器下载的rk3288,报错缺少命令,apt-get install 安装失败,更新软件源后输入命令:sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade重启虚拟机后报错导致系统崩溃!进入ubuntu后桌面都不能启动,系统内的数据全部作废,只有重装。幸好git系统强大,重要的数据基本全...
2019-02-19 22:51:43 449
原创 new concept 3=05 The facts
The facts 确切数字Editors of newspapers and magazines often go to extremes to provide their reader with unimportant facts and statistics.Last year a journalist had been instructed by a well-known ...
2019-02-07 23:54:45 476
原创 new concept 3=04 The double life of Alfred Bloggs
The double life of Alfred BloggsThese days, people who do manual work often receive far more money than clerks who work in offices. People who work in offices are frequently referred to as 'white co...
2019-01-28 11:28:53 1013
原创 短诗整理4—亲情+思乡+别离
1 ============================ 游子吟 孟郊 慈母手中线,游子身上衣。临行密密缝,意恐迟迟归。谁言寸草心,报得三春晖。2 ============================ 静夜思 李白床前明月光,疑是地上...
2019-01-11 23:15:13 284
原创 new concept 3=03 An unknown goddess
Lesson 3An unknown goddess无名女神Listen to the tape then answer the question below.听录音,然后回答以下问题。How did the archaeologists know that the statue was a goddess? Some time ago, an interest...
2019-01-05 13:54:04 24104 1
原创 sublime Text简单使用
1、搜索文件名和函数【1】全局搜索文件:可模糊搜索ctrl+p => 输入文件名【2】搜索当前文件的函数:ctrl+p=>@ ==>搜索栏下拉列出当前文件所有函数。再点击,或者切换到ctrl+f可以查当前文件调用的多处地方。【3】全局搜索目标函数:菜单栏Find==>在文件中查找:工具最底层2、sublime text 3如何使用快捷键跳转到...
2018-12-21 11:24:41 188
原创 SPI和读写串行FLASH(基于STMF103X)
================学习方法:【1】对比SPI 和I2C【2】对比FLASH读写和EEPROM读写================/////////////////////////////////基本特性1、什么是SPI,SPI基本特点? (特点才能表明SPI)SPI协议是(Serial Peripheral Interface),即串行外围设备接口。[1]...
2018-12-16 22:58:25 1149
原创 I2C和读写EEPROM(基于STM32F10X)
//////////////////////////////////// I2C基本原理1、什么是I2C?有什么特点?传输速度多少?[1]I2C:是一种通讯协议,全称inter-integrated circuit。[2]特点:引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。(不需外设即可实现)...
2018-12-16 22:46:29 456
原创 STM32单片机基本知识
1、MCU容量分类小容量产品是指闪存存储器nandflash容量在16K 至32K 字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。中容量产品是指闪存存储器容量在64K 至128K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101...
2018-12-14 14:32:05 18072
sokit-1.3-win32-chs.rar
2020-04-05
nRFgo_Studio_v1_3_1_install.exe
2020-04-05
JLink_Windows_V662.exe
2020-04-05
DialogBlocks-5.12-Setup.exe
2020-04-05
CommX.exe(好用的串口调试助手)
2020-04-05
SecureCRTPortable_6.7.4.rar
2020-04-05
OV5648_CSP3_DS_1.1_WPI.PDF
2020-04-05
CM32181-Capella.pdf
2020-01-31
gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
2020-01-03
gcc-arm-none-eabi-4_9-2015q3-20150921-win32.zip
2020-01-03
BMG160三轴陀螺仪规格书
2019-03-01
光感规格书LTR-303ALS(MTK和RK等平台)
2018-09-26
jsoncpp-1.6.5
2018-06-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人