- 博客(169)
- 资源 (3079)
- 收藏
- 关注
原创 【SLM1381】 RTC实时时钟芯片
SLM1381包含了一个时钟/日历实时钟以及32字节的静态RAM,它通过一个简单的串行界面和微控制器通讯;时钟/日历实时钟提供了秒、分、时、天、月以及年的信息;每个月的最后一天根据该月是否有31天而自动调节,包括闰年的校正;时钟可以是12小时或者24小时制,并加以AM或者PM提示。SLM1381与微控制器之间的界面是一个简单的同步串行通讯接口,只有CLK、RST、和I/O 三根线;SLM1381采用低功耗设计。
2023-11-21 08:32:29
244
原创 【SLM1302】 带涓流充电的RTC实时时钟芯片
SLM1302包含了一个时钟/日历实时钟以及32字节的静态RAM,它通过一个简单的串行界面和微控制器通讯;时钟/日历实时钟提供了秒、分、时、天、月以及年的信息;每个月的最后一天根据该月是否有31天而自动调节,包括闰年的校正;时钟可以是12小时或者24小时制,并加以AM或者PM提示。SLM1302与微控制器之间的界面是一个简单的同步串行通讯接口,只有CLK、RST、和I/O三根线,SLM1302采用低功耗设计。
2023-11-21 08:31:30
504
原创 c++小游戏源码
printf("\n\n 1,神秘沼泽 危险程度:★\n\n 2,星耀草原 危险程度:★\n\n 3,诡异森林 危险程度:★★★\n\n 4,荒漠矿场 危险程度:★★★\n\n 5,炽热炎洞 危险程度:★★★★\n\n 6,花朵宫殿 危险程度:★★★★★\n\n 0,离开\n");printf("赏金猎人:\n\n\n 你要救公主啊!printf("--------------------------欢迎来到 [苍穹世界] 2.2 测试版-----------------------\n\n\n");
2023-11-20 16:03:10
644
4
原创 斗地主-c++小游戏源码
/cout<<"查找SecondFigure "<<cardGroup.type.cnt2<<"个"<<SecondFigures[0]+3<<endl;//cout<<"添加"<<cardsHolded[j]->value+3<<endl;//cout<<"查找"<<cardGroup.type.cnt1<<"个"<<firstFigure+3<<endl;if(type.typeStr=="三带一"||type.typeStr=="三带一对"||type.typeStr=="飞机"){
2023-11-20 16:02:40
431
原创 弹球-c++小游戏源码
print(1,0,7,"弹球");print(1,0,7,"弹球");print(1,0,7,"弹球");print(1,0,7,"弹球");//1左上,2左,3左下,4右上,5右,6右下。print(1,0,7,"弹球");
2023-11-20 16:02:01
292
原创 C语言isalnum()函数:判断字符是否为字母或数字
ch不是字母或数字 返回0 ,ch是字母或数字 返回非0。: int ch 待检查的字符。:判断输入的字符是否为字母或数字。: 判断字符是否为字母或数字。
2023-11-20 08:52:39
419
原创 C语言isascii()函数:判断字符是否为ASCII码
判断字符是否为ASCII码,即字符ASCII在0到127之间。: ch不是ASCII 返回0,ch是ASCII 返回非0。:判断输入的字符是否为ASCII字符。int ch 待检查的字符。
2023-11-20 08:52:07
403
原创 C语言32个关键字汇总详解
volatile:与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值。register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数。for:for循环结构,for(1;的执行顺序为1->2->4->3->2...循环,其中2为循环条件。的执行顺序是1->2->1...循环,2为循环条件。static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部。
2023-11-20 08:49:42
136
原创 C语言运算符大全(优先级与结合性表)
C语言当中有众多的运算符,实际开发编码过程中,也不会仅仅是a+b这样的简单的表达式,常常是多个变量、多个运算符组合而成的复合表达式,因此我们需要明白哪个优先级高,应该先算哪个,就像我们小学学的四则运算符,乘除的优先级高于加减是一样的道理。从高到低,即最前面,数字越小的优先级越高,越优先算。下面我们将C语言中的各个运算符列表如下,按照。
2023-11-20 08:48:04
167
原创 C语言字符串接收函数gets的用法
其运行过程为:当执行gets函数时,程序会等待用户从键盘输入的字符串,一旦遇到结束标志,即回车,那么之前输入在缓冲区中的字符串则会一起输入到gets中str所指向的内存区域里。在包含 include <stdio.h>头文件的情况下,可以用gets直接往字符数组里接收字符串,我们通过观察函数原型,可以看到在gets中传入一个字符指针,也就是存放这个字符串的字符数组地址即可接收,需要主要的是,要保证能存的下。在C语言中,除了用scanf,以%s接收字符串之外,还可以使用gets函数更方便的接收字符串。
2023-11-20 08:47:24
1227
原创 C语言格式化输入函数scanf实例详解
称为,即按照格式字符串的格式,从键盘上把数据输入到指定的变量之中。scanf函数的调用的一般形式为:1其中,的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表项中的地址给出各变量的地址,地址是由地址运算符“&”后跟变量名组成的。scanf函数中格式字符串的构成与printf函数基本相同,但使用时有几点不同。(1)格式说明符中,可以指定数据的宽度,但不能指定数据的精度。例:123float。
2023-11-20 08:46:53
347
原创 C语言格式化输出函数printf实例详解
假如您不想事先指定字段宽度,而是希望由程序来制定该值,那么您可以在字段宽度部分使用*代替数字来达到目的,但是您也必须使用一个参数来告诉函数宽度的值是多少。具体的说,如果转换说明符为%*d,那么参数列表中应该包括一个*的值和一个d的值,来控制宽度和变量的值。格式字符串是以%打头的字符串,在“%”后面跟不同格式字符,用来说明输出数据的类型、形式、长度、小数位数等。例如:%d格式符表示用十进制整形格式输出,%f表示用实型格式输出,%5.2f格式表示输出宽度为5(包括小数点),并包含2位小数。
2023-11-20 08:46:16
211
原创 C语言数据类型和关键字大全
这三种类型之下分别是:short、int、long、char、float、double这六个关键字再加上两个符号说明符signed和unsigned就基本表示了C语言的最常用的数据类型。在认识了这么多的数据类型之后,我们就可以根据不同的实际情况,在不同的问题中选择最符合的数据类型来使用。在C语言中,为了定义变量、表达语句功能和对一些文件进行预处理,还必须用到一些具有特殊意义的字符,这就是关键字,我们用户自己定义的变量函数名等要注意不可以与关键字同名。这个就需要您根据不同的作用选择不同的数据类型存储了。
2023-11-20 08:45:31
322
原创 C语言变量与常量数据(有什么区别)
而year是一个变量,只要是整型数字都可以赋值给year,随之year的值就会改变,旧值就会被覆盖。在程序的世界中,可以让计算机按照指令做很多事情,如进行数值计算、图像显示、语音对话、视频播放、天文计算、发送邮件、游戏绘图以及任何我们可以想象到的事情。(1)标准C不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。C规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。(2)在标识符中,大小写是有区别的。
2023-11-20 08:44:53
120
原创 数据结构面试笔试经验专题资料
get(key)方法获取key的hash值,计算hash&(n-1)得到在链表数组中的位置first=table[hash&(n-1)],先判断first(即数组中的那个)的key是否与参数key相等,不等的话,判断结点是否是TreeNode类型,是则调用getTreeNode(hash, key)从二叉树中查找结点,不是TreeNode类型说明还是链表型,就遍历链表找到相同的key值返回对应的value值即可。加载因子是指当HashMap中存储的元素/最大空间值的阀值,如果超过这个值,就会进行扩容。
2023-11-20 08:44:28
85
原创 安卓设计模式面试笔试专题经验资料
尽管 你不能想到具体的设计,但如果你可以指出非功能性需求,提出一些问题,想到关于边界 条件,这些都会是很好的。接口通常被用来表示附属描述或行为如:Runnable、Clonable、Serializable 等等,因此当你 使用抽象类来表示行为时,你的类就不能同时是 Runnable 和 Clonable(注:这里的意思是指 如果把 Runnable 等实现为抽象类的情况),因为在 Java 中你不能继承两个类,但当你使用 接口时,你的类就可以同时拥有多个不同的行为。装饰模式增加强了单个对象的能力。
2023-11-17 06:48:06
92
原创 Android设计模式总结
主要处理类或对象如何交互及如何分配职责,包括策略模式,模板方法模式,观察者模式,迭代器模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,中介模式,解析器模式。接口隔离原则的关键是接口以及这个接口要小,如何小呢,也就是我们要为专门的类创建专门的接口,这个接口只对它有效,不要试图让一个接口包罗万象,要建立最小的依赖关系。对于扩展是开放的,对于修改是封闭的。结构性设计模式是从程序的结构上解决模块之间的耦合问题,包括适配器模式,代理模式,装饰模式,外观模式,桥接模式,组合模式和享元模式。
2023-11-17 06:47:08
76
原创 面试必备之乐观锁与悲观锁
总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上 锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以 使用版本号机制和 CAS 算法实现。4. 操作员 B 完成了操作,也将版本号加一( version=2 )试图向数据库 提交数据( balance=$80 ),但此时比对数据库记录版本时发现,操 作员 B 提交的数据版本号为 2 ,数据库记录当前版本也为 2 ,不满 足 “ 提交版本必须大于记录当前版本才能执行更新 “ 的乐观锁策略, 因此,操作员 B 的提交被驳回。
2023-11-17 06:46:36
84
原创 混合跨平台开发面试题
3.react native有多少了解?8.说说你用过的混合开发技术有哪些?5.flutter了解吗?内部是如何实现跨平台的?11.Gradle了解多少?groovy语法会吗?跟其她方式相比有什么优缺点?2.Hybrid通信原理是什么,有做研究吗?4.weex了解吗?如何自己实现类似技术?6.Dart语言有研究贵吗?1.Hybrid做过吗?9.Python会吗?10.会不会PHP?
2023-11-17 06:45:36
125
原创 Android高级面试题总结
在Android3.0开始,execute方法串行执行任务的,一个一个来,3.0之前是并行执行的。Handler导致的内存泄漏也可以被归纳为非静态内部类导致的,Handler内部message是被存储在MessageQueue中的,有些message不能马上被处理,存在的时间会很长,导致handler无法被回收,如果handler是非静态的,就会导致它的外部类无法被回收,解决办法是1.使用静态handler,外部类引用使用弱引用处理2.在退出页面时移除消息队列中的消息。
2023-11-17 06:44:50
108
原创 Android多线程总结
为什么需要线程同步?线程之间共享变量存储在主存中,每个线程都有一个私有的本地内存,本地内存存储了该线程共享变量的副本(本地内存是一个抽象概念,并不真实存在),两个线程要通信的话,首先A线程把本地内存更新过的共享变量更新到主存中,然后B线程去主存中读取A线程更新过的共享变量,也就是说假设线程A执行了i = 1这行代码更新主线程变量i的值,会首先在自己的工作线程中堆变量i进行赋值,然后再写入主存当中,而不是直接写入主存。x++也不是原子性操作,它包含三部,第一,读取x,第二,对x加1,第三,写入内存。
2023-11-17 06:44:14
115
原创 多线程面试笔试专题
在我看来这是最好的 java 线程面试 问题之一,它可以确切的检测候选者解决竞争条件的经验,or writing code which is free of data race or anyother race condition。你需要实现一个高效的缓存,它允 许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?这是个关于线程和阻塞的棘手的问题,它有很多解决方法。这个问题的回答应 该是这样的,当你调用 start()方法时你将创建新的线程,并且执行在 run()方法里的代码。
2023-11-17 06:43:35
94
原创 Android 基础与底层机制
1)减少在onDraw里面大量计算和对象创建和大量内存分配。2)应该尽量少用invalidate()次数。3)view里面耗时的操作layout。减少requestLayout()避免让UI系统重新遍历整棵树。Mearsure。4)如果你有一个很复杂的布局,不如将这个复杂的布局直接使用你自己的写的ViewGroup来实现。减少了一个树的层次关系 全部都是自己测量和layout,达到优化的目的。(Facebook就经常这么干)
2023-11-17 06:42:28
114
原创 大厂 Android技术 高端技术面试题
RxJava是基于响应式编程,基于事件流、实现异步操(类似于Android中的AsyncTask、Handler作用)作的库,基于事件流的链式调用,使得RxJava逻辑简洁、使用简单。RxJava原理是基于一种扩展的观察者模式,有四种角色:被观察者Observable 观察者Observer 订阅subscribe 事件Event。
2023-11-17 06:41:56
257
原创 计算机软件开发 初级面试
5.当某个子View返回true时,会中止Down事件的分发,同时在ViewGroup中记录该子View。由于子View是保存在ViewGroup中的,多层ViewGroup的节点结构时,上级ViewGroup保存的会是真实处理事件的View所在的ViewGroup对象:如ViewGroup0-ViewGroup1-TextView的结构中,TextView返回了true,它将被保存在ViewGroup1中,而ViewGroup1也会返回true,被保存在ViewGroup0中。③、绘制View的内容;
2023-11-17 06:40:39
76
原创 Android开发中常见的一些问题面试试题
比如ListView滑动到第2行会异步加载某个图片,但是加载很慢,加载过程中listView已经滑动到了第14行,且滑动过程中该图片加载结束,第2行已不在屏幕内,根据上面介绍的缓存原理,第2行的view可能被第14行复用,这样我们看到的就是第14行显示了本该属于第2行的图片,造成显示重复。通过上面的分析我们知道了出现错乱的原因是异步加载及对象被复用造成的,如果每次getView能给对象一个标识,在异步加载完成时比较标识与当前行item的标识是否一致,一致则显示,否则不做处理即可。
2023-11-17 06:38:49
96
原创 Android View 面试总结
f.scroller:scroller需要配置computeScroll方法实现view的滑动,scroller本身并不会滑动view,它的作用可以看作一个插值器,它会计算当前时间点view应该滑动到的距离,然后view不断的重绘,不断的调用computeScroll方法,这个方法是个空方法,所以我们重写这个方法,在这个方法中不断的从scroller中获取当前view的位置,调用scrollTo方法实现滑动的效果。2.子view 要有具体的大小,一定要比父view 大 才能超出。
2023-11-17 06:38:10
68
原创 JVM面试笔试经验资料
堆里面分为新生代和老生代(java8 取消了永久代,采用了 Metaspace),新生代包 含 Eden+Survivor 区,survivor 区里面分为 from 和 to 区,内存回收时,如果用的是复 制算法,从 from 复制到 to,当经过一次或者多次 GC 之后,存活下来的对象会被移动 到老年区,当 JVM 内存不够用的时候,会触发 Full GC,清理 JVM 老年区。这是垃圾收集算法中最基础的,根据名字就可以知道,它的思想就是标记哪些要被 回收的对象,然后统一回收。
2023-11-17 06:36:54
83
原创 Java基础面试题
但 是,这不是绝对的。因此,如果父类中只定 义了有参数的构造方法,而在子类的构造方法中又没有用 super() 来调用父类 中特定的构造方法,则编译时将发生错误,因为 Java 程序在父类中找不到没 有参数的构造方法可供执行。所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发 出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变 量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中 实现的方法,必须在由程序运行期间才能决定。但 是,它不能用于创建新程序。
2023-11-17 06:35:44
78
原创 java深入源码级的面试题
擦除是指在一定程度无视类型参数T,直接从T所在的类开始向上T的父类去擦除,如调用泛型方法,传入类型参数T进入方法内部,若没在声明时做类似public T methodName(T extends Father t){},Java就进行了向上类型的擦除,直接把参数t当做Object类来处理,而不是传进去的T。即在有泛型的任何类和方法内部,它都无法知道自己的泛型参数,擦除和转型都是在边界上发生,即传进去的参在进入类或方法时被擦除掉,但传出来的时候又被转成了我们设置的T。不同类型的字符可以由1~6个字节组成。
2023-11-17 06:34:35
124
原创 程序员必学!最受欢迎的Linux入门基础
1. LinuxOnline:http://www.Linux.org/,最权威的Linux网站,可以称得上是无所不有,软件硬件应有尽有。5. S.U.S.E:Linux OS | SUSE Linux Enterprise,S.U.S.E. Linux 的官方网站。3. Linux: http://www.Linux.com/,学习Linux的最好网站,也是Linux使用经验的汇聚地。6. The Linux Kernel Archives:Linux核心的网站,有着很齐全的Linux的核心的各种版本。
2023-11-16 09:01:47
219
原创 Linux基础知识之Linux和Unix有什么不同
当时,操作系统很少,更不要说可移植的操作系统。由于 Unix 家族的商业和学术分支,供应商可能必须为 Unix 的变体编写不同的驱动程序,并且需要许可和其他相关的权限才能访问 SDK 或软件的分发模型,以跨越多个二进制设备驱动程序的 Unix 变体。此外,Unix 的 BSD 分支是开源的,而 NetBSD、 OpenBSD 和 FreeBSD 都有强大的用户基础和开源社区,它们可能不像 Linux 那样显眼或活跃,但在最近的服务器报告中,在 Web 服务等领域它们远高于专有 Unix 的数量。
2023-11-16 09:01:02
161
原创 Linux下分析bin文件的10种方法
我们知道,在 Linux 下,一切皆文件,但并不是所有的文件都具有可执行性,我们还有各种各样的文件,比如:文本文件,管道文件,链接文件,socket文件,等等。例如,如果我们想在屏幕上打印某些字符,可以使用 printf 或 puts 函数,而这两个都是 libc 的库函数,在更底层,他们都是调用 write 这个系统调用。我们知道,程序在开发完成之后,需要经过编译,才可以生成计算机可以识别的二进制文件。在下面的例子里,我们可以看到程序调用的函数,以及传递进去的参数,同时你也可以看到函数调用的输出。
2023-11-16 09:00:04
1309
原创 如何直观的判断你的Linux系统是否健康
vmstat命令是非常实用的一种Linux/Unix监控工具,可以直观的浏览到给定的时间间隔的系统运行状态,包括服务器的CPU使用率,内存使用情况,虚拟内存交换情况, 硬盘、内存读写情况。一提到对于查看系统运行的健康状况,可能大多数朋友考虑到的就是查看进程或者打开任务管理器,但是对于应用在真实生产环境中服务器的linux系统来说,以上两种方式都不是最高效的查看方式,那么今天就给大家推荐一个在linux系统中非常实用的关心系统运行健康的方式———— ‘ vmstat ’ 命令。
2023-11-16 08:58:39
351
原创 STM32单片机学习资料所遇到问题经验总结
109、CAN总线具有6个特点:1:多主控制(挂接在总线上的所有设备均可以成为主设备,并且设备ID是用来决定设备的优先级,没有设备地址概念),2:系统若软性(没有设备地址概念),3、通讯速度较快,通讯距离较远(1Mbps下40M,5kbps下10KM),4、具有错误检测、错误通知(通知其他设备)和错误恢复功能(强制结束发送,重复发送接收错误的信息。注意:这个X和Y的值是相对于触摸屏的,而非LCD屏。这是两个不同的概念,也是两个不同的物理结构,其中电阻触摸屏是由上下两个导电层中间夹着一层非常薄的透明隔层。
2023-11-16 08:56:28
164
原创 总结大佬经验,如何学习STM32?(入门、进阶)
先把工作中需要的东西学会,一项一项的来,比如先把GPIO弄清楚,怎么初始化,怎么输入输出,然后定时器、串口、ADC、DAC、DMA、SPI等等先把用得着的一个一个地做,东西都是有相通的,但是一定要动手,不管是用例程还是自己写,都要带板子跑代码,过程中肯定有问题慢慢解决,才能有提高,而且现在的片子底层驱动库都有,项目用的时候就。先玩起来再说底层函数,一般就用现成的库,绝大多数应用都没问题的,至于库里面是什么,先不管它,到了高级阶段再去看--------hdxet。
2023-11-16 08:53:13
4702
转载 学习单片机切记这四点要求,少走弯路
单片机型号那么多,挨个学下来估计头发白了也学不完,所以大家跟着我学 51 单片机,不能仅仅当做 51 来学习,更重要的是要当做“单片机”来学,要通过我们的这个教程,把所有的单片机的内部资源都搞清楚弄明白,每个内部模块的用法理解透彻,这样当你遇到一 个从没有用过的单片机,也就知道如何下手去使用它进行开发了。很多同学学习的时候喜欢看别人做的视频,看别人的程序,都能看懂,觉得自己就会了,等到自己写程序的时候,不知道从哪里下手了,这是初学者很容易犯的“眼高手低”的毛病。下面是学习单片机的四个步骤。
2023-11-16 08:42:54
123
转载 仿猫国建设者-c++小游戏源码
string hengs[31] = {"0", "营火", "小村庄", "科学", "成就", "工坊", "贸易", "独角兽"};{"0", "日期", "农业", "箭业", "采矿", "畜牧业", "金属加工", "行政部门", "数学", "建筑业"}{"0", "采集猫薄荷", "猫薄荷田", "锻造木头", "小屋", "图书馆", "粮仓", "矿井", "工坊"},{"0", "伐木工", "农民", "学者", "猎人", "矿工"},cout << "3.派出猎人";
2023-11-16 08:36:55
548
基于WM8962芯片设计的Audio音频模块Cadence 原理图+PCB 文件.zip
2023-11-28
基于TJA1040T芯片的CAN总线接口模块Cadence 原理图+PCB 文件.zip
2023-11-28
STM32H743_Pro开发板+【摄像头_OV5640】模块 采集图像实时显示软件实验例程源码.zip
2023-11-28
STM32F407_霸天虎开发板+【摄像头_OV5640】模块 采集图像实时显示软件实验例程源码.zip
2023-11-28
STM32F429_挑战者开发板+【摄像头_OV5640】模块采集图像实时显示 软件实验例程源码.zip
2023-11-28
STM32F429单片机 SD卡FatFS文件系统+SD卡虚拟U盘例程软件源码.zip
2023-11-24
基于C51系列单片机计实例程序PROTEUS仿真-AD0832设计的电压表32X16点阵显示.zip
2024-08-27
基于C51系列单片机计实例程序PROTEUS仿真-ad0831_lcd_da0808_ds1302_24c64的应用.zip
2024-08-27
基于C51系列单片机计实例程序PROTEUS仿真-12864大液晶屏proteus仿真.zip
2024-08-27
基于C51系列单片机计实例程序PROTEUS仿真-DS1302时钟+1602液晶.zip
2024-08-27
基于C51系列单片机计实例程序PROTEUS仿真-字符液晶LCD1602仿真测试.zip
2024-08-26
基于C51系列单片机计实例程序PROTEUS仿真-12位AD-DS1621与12864液晶.zip
2024-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅