- 博客(24)
- 收藏
- 关注
原创 学习笔记——STM32F103的V3版本——3*3矩阵键盘控制数码管
1.数码管2.3*3的矩阵键盘(自己做的模块(手残党一枚))3.总体连接。
2024-05-21 21:42:02 1212
原创 学习MinSTM32F103的V3版本(已停产)—— 跑马灯(寄存器版本)
首先是硬件连接,两个LED灯较长端都接3.3V(左侧三个都是3.3V,右边三个都是GND,共六个引脚),较短边分别接PA5和PB5引脚。如图:test.c//两个外接的LED灯同时亮起和熄灭。LED_Init();while(1)//两个LED灯换着亮起和熄灭LED_Init();
2024-04-22 21:45:20 919
原创 Java语言——封装
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。根据我的理解,封装就相当于隐藏的功能。通常将属性转化为私有,用实现get/set实现相关功能。
2024-04-21 21:24:23 207
原创 Java学习笔记——类和对象
随处可见的一个事物就可成为对象。对象是物体存在的实体。所以对象会被划分为两个部分,即静态部分和动态部分,其中前者都是具有属性的,例如人的高矮、胖瘦、性别、年龄等;后者则是对象可执行的动作,成为“行为”,例如一个人可以哭泣、微笑、说话、行走等等。:即为同一类事物的统称。例如鸟类就是一个类,其中包括大雁,鸡鸭,天鹅等等,将这些集中在一起构成的鸟类即为一个类。类是封装对象的属性和行为的载体,也就是说鸟类均具有的基本特征都是在类中都有的,当然每一个对象都有自己不同的特征,也可以重写类中定义的属性,从而进行调用。
2024-04-18 12:00:34 324 1
原创 Java学习笔记——I/O
ObjectInputStream类的对象用于反序列化一个对象。相对应的BufferOutputStream类输出信息和仅用的OutStream类输出信息完全一样,不过是多了一个flush()方法用于将缓存区的数据强制输出。这里主要是用于解决上面的两个类出现的读取不好时会出现了乱码的现象,FileReader类和FileWriter类分别对应FileInputStream类和FileOutputStream类。1.创建ObjectOutputStream类的对象,并将对象保存到book.ser文件中。
2024-04-15 16:40:54 746 1
原创 Java学习笔记——File类
输出结果:(这里如果刚开始没创建文件的话,则什么都不输出,之后的程序运行时就会呈现下面的结果,文件的内容则不会改变,只能将文件删除重新运行程序才能修改文件内容)该代码的功能是在D盘下传概念文件,如果D盘有此文件,则删除该文件,没有则创建在此文件下。System.out.println("文件已创建");Sysem.out.println("文件已创建");(这里只要把程序中的if语句去掉则可以通过直接修改相关内容便可已将文件中内容修改。
2024-04-08 14:40:34 776
原创 Java学习笔记——异常处理
这里就很自由了,就算考试中有些异常记不住也可以通过自定义躲过一劫(当然了这种机会怕是不多)常见步骤大致如下:(1)常见自定义异常类(2)在方法中通过throw关键字抛出异常对象(3)如果在当前异常的方法中处理异常,可以使用try…catch语句块进行捕获和处理,否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。(4)在出现异常的方法的调用者中捕获并处理异常。
2024-04-03 14:05:46 516 1
原创 Arduino学习笔记之:Arduino Uno + MPU6050 + 0.96 OLED
这里模拟的是最低级的落水警报求救手环。MPU6050用于打印x,y,z的距离,间隔时间为两秒一次,并指定一定范围的x,y,z距离限制,只要在这个限制中出现10次则提示出人已经落水,请迅速救援的信息,当检测到x,y,z距离已经脱离了落水范畴,则提示人已经救出,重新开始进行间隔时间为两秒一次的x,y,z的距离打印。0.96 OLED模块进行手环界面设计。
2024-03-29 21:46:43 1177 1
原创 Arduino学习笔记之MPU6050
输出结果就是x, y, z的大小,随着MPU6050模块的移动,x, y, z 的坐标按上述方法变化。这个代码可以在网站在"jrowberg/i2cdevlib"上下载Arduino压缩包,找到名为MPU6050和I2Cdev的文件将其转为.zip文件,最后导入到库中。最后按照上述图片中的方法打开代码。
2024-03-29 21:12:15 936 1
原创 Pid算法 + Arduino Uno + 控制小球在板子上运动
由于是三人一组,在商量好任务后,大家一起先以2023年的电赛C题的题目为原型进行制作,这里我做的是软件部分,首先我进行的是初步编写的工作,在后面与硬件连接时的适配说不定还要改好多东西,光想想就让人头疼,就相当于留个初稿纪念纪念吧。#define TARGET_ANGLE_2 0.0 // 第二个区域的倾斜角度。#define TARGET_ANGLE_3 30.0 // 第三个区域的倾斜角度;#define TARGET_ANGLE_1 -30.0 // 第一个区域的倾斜角度。
2024-03-18 23:12:38 1296
原创 Arduino 蓝牙循迹避障三轮小车制作教程
1.一个Arduino Uno 开发板2.一个L298N驱动模块3.一个HC-05蓝牙模块4.一个SG90舵机5.一个超声波模块7.两个红外线传感器模块8.两个直流减速电机+两个车轮 + 小车底板9.一个小型面包板。
2024-03-11 21:53:58 2147 1
原创 初级算法——二分查找
以整型数组进行实例,这里先定义一个长度为10的数组,初始化左边的值为left = 0, 右边的值为right = n - 1,再定义一个中间值mid并初始化。这里用While循环进行查找,循环的前提条件是left <= right,当数组中的值小于待查找的值,则在循环中用left = mid + 1;// 如果当前值小于目标值,更新最接近的值(如果当前差值更小)// 如果当前值大于目标值,更新最接近的值(如果当前差值更小)// 要查找的目标值*/// 如果没有找到目标值,返回最接近的值的索引。
2024-03-11 20:09:38 335 1
原创 初级算法——排序(C语言)
它的原理是假设初始序列有n个记录,则可以看成n个有序的子序列,每一个子序列长度为1,然后两两归并,得到n/2个长度为2或1的有序子序列;void qSort(int k[], int low, int high) /*通过限定一定的范围进行选择性的排序,由于快速排序适合包含较多值的数组,因此当数组长度小于一定范围是用快速插入排序是最好的*/;对于我的理解,冒泡排序像气泡一样逐渐依次向上浮动,方法就是逐一比较相邻的两个数,将小的调换在前面,一遍比较完后再进行相邻的数字比较,直到最后从小到大排好序。
2024-03-09 11:33:13 884
原创 初级算法——模拟与高精度(C语言)
首先是A+B问题,首先先定义两个z字符数组a[1000], b[1000] ,将两个数字分别存储到相对应的数组中,在定义两个另外三个整型数组a1[1000],b1[1000], c[1000],先用strlen函数进行对a,b两个字符数组的长度获取从而实现对两个数字的输入,然后将a[1000]和b[1000]的字符转化为数字存储到a1[1000], b1[1000]中,去两者中最大的一个长度作为c[1000]的数组总长度,利用for循环将c[i] = a1[i] + b1[i];f = ch[i];
2024-03-08 00:28:04 672 1
原创 初学Java与之前C语言对比感触
public class 是固定搭配,其中public是指访问修饰符,class是指类,其后就是你命名的Java文件的名字,只能使用英文字母且不留空格。public static void main()相当于 C语言中的void main(),并且Java中用很多函数可以与C语言中的函数功能相对应,只是java 中的函数写法更复杂,但java 中也出现了很多C语言中没有的快捷,比如:swich case语句可以进行单个字符常量的引用,...这三个省略号可以是同一个数据类型中的不同表现形式混合在一起用等等。
2024-01-12 13:27:57 414
原创 C语言写打疫苗管理系统小结与感悟
1:整体布局:2:函数---增添打疫苗的人(addYMperson):#include //各函数的定义FILE* r;= 0)printf("打开文件失败!\n");elseprintf("内存分配失败!\n");exit(1);// 将person用头插法添加到通讯录中= NULL)else#include //各函数的定义。
2023-12-11 11:47:30 937 2
原创 链表的感悟总结
关于以上单链表功能的代码实现(学生管理系统)printf("请输入姓名:");printf("请输入学号:");printf("请输入总成绩:");printf("内存分配失败!\n");exit(1);// 将person用头插法添加到通讯录中= NULL)else。
2023-11-17 00:19:09 99 1
原创 单链表感悟
但在访问数据时,数组可以直接通过下标来访问数组,如a[3] = {1,3,5}中要想得到3则只用通过a[1],来进行操作,带对于访问结构体成员而言,则需要对于结构体变量,往往需要通过"."来实现, 而对于结构体指针来说,则需要用到"->" 或者"(*)"来实现。对目前的我而言:单链表中的头插法,尾插法来进行成员的接入(前者最终的结果与输入的刚好倒过来,后者的最终结果与输入一致),这两者结合可以写回文数问题(151倒过来还是151)。printf("内存分配失败!printf("录入的单链表是:");
2023-11-12 16:12:26 411
原创 这是参考网上做的质数口袋后自己再敲到了一遍的(记录对与错提升自我!加油!)
【代码】这是参考网上做的质数口袋后自己再敲到了一遍的(记录对与错提升自我!加油!
2023-10-22 18:30:14 47 1
原创 这是我第一次写质数口袋的unaccepted的答案(太菜了!对题目理解一知半解,连用自定义函数来写回文数和质数都不知道!)
【代码】这是我第一次写质数口袋的unaccepted的答案(太菜了!对题目理解一知半解,连用自定义函数来写回文数和质数都不知道!
2023-10-22 18:08:54 43 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人