- 博客(38)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 linux中的进程
ps:查看当前后台所有进程的详细信息nice/renice:以指定的优先级运行某个程序,renice可以改变某个已经运行的程序的优先级jobs:查看当前后台进程,可以看到进程的编号fg 进程编号:将后台进程重新调到前台Ctrl + z:将前台当前的进程调到后台挂起,也就是在后台停止bg 进程编号:将后台停止的程序重新运行程序中的进程相关的函数:pid_t fork...
2020-03-05 20:31:12 214
原创 linux中静态库和共享库的创建和使用
静态库:上图中的ar crs是生成静态库的固定命令,另外,静态库文件对命名是有要求的,必须是libxxx.a,就像图上一样,然后后面跟随一个或者多个.o文件。上图中,-L后面可以跟随一个静态库的搜索路径的,图上是一个点,代表当前目录。-l用来指定要链接的库的名称,注意是库名,不是库文件名。静态库的代码在编译后会复制到文件中,只有编译过了一次,哪怕把库文件删除,原来的代码也可...
2020-02-29 22:04:53 282
原创 linux文件IO
文件类型:常规文件 r:文本文件,二进制文件(比如一些程序)目录文件 d:文件夹下放的所有文件的名称,以及里面的一些信息,就放在目录文件中字符设备文件 c:linux中将设备看成一个文件,每个文件代表一种设备块设备文件 b:...
2020-02-28 21:18:52 542
转载 screen安装和基本使用
yum install screen 安装screenscreen -S <作业名称> 创建新的页screen -ls 查询已经存在的页面screen -r<作业名称/作业编号> 进入页面Ctrl+a+d 离开页面,页面进入后台...
2020-02-28 17:25:07 296
原创 指针复习
内存地址的基本单位是字节,这也是为什么char,int这些类型都是按照几个字节几个字节这样算的原因。心中默念3遍,字节字节字节,但凡是指针全部都看字节就行,不要在想几位,什么4字节就是32位,这样想容易乱。---------------------------------------------------------------------------------------------...
2020-02-27 22:32:46 226
原创 汉诺塔(递归)
如此经典,题目不必赘述。解析:#include<stdio.h>void hnt(int n,char start_, char mid_,char end_);int main(){ int n; scanf("%d",&n); hnt(n,'A','B','C'); return 0;}void hnt(int n,cha...
2020-02-19 17:34:10 163
原创 Android的xml一些UI命令记录
layout_weight:指的是本控件在上一级layout中占的比例,里面填数字,比如layout中有俩控件,他们都令layout=1的话就是各占控件 的一半。gravity:layout和控件都有这个属性,指的是本控件的内容,比如Button的text或者是本layout内部的控件往哪边对齐(gravity翻译是重力引力,重力偏哪边不就得往哪边倒么)。layout_gravity:指的...
2020-02-15 17:02:57 169
原创 单片机的内存和寄存器是什么?代码中的变量和内存之间有什么关系?
基础概念单片机有寄存器和内存。内存就是RAM、ROM/FLASH,这里的内存的概念和电脑的不太一样,不要搞混,眼着于单片机即可。ROM/FLASH:程序存储区(只读存储器),不变的东西都存这俩里头,并且存里头的东西只读。RAM:随机存储器,可以简单理解为变量都存这里。暂且写这样理解,初始化后会有变化,后文会说。单片机都有自带ROM/FLASH、RAM,但是很多厂商也会给他们外...
2019-11-22 11:20:08 3659 4
原创 STM32同一个ADC多通道传输非DMA方式
最后参考的文章--------------------------->:https://blog.csdn.net/jxwzh/article/details/80611774网上多通道传输方式很多都是说的DMA方式的,下面我介绍非DMA方式的多通道转换方式ADC的通道是什么stm32有多个ADC,比如有ADC1、ADC2,每个ADC又有16个外部通道和两个内部通道,每个通道都可...
2019-11-21 17:27:04 1850
原创 树莓派环境搭建、无HDMI线和屏、远程连接树莓派
需要用到的东西:树莓派板子一块,电脑一台,读卡器一个,树莓派sd卡一张。需要下载的软件工具:树莓派操作系统镜像、Win32DiskImager、putty、VNC-Viewer(可选)我打包好的下载地址,里面有我上面提到的除了镜像意外的所有要下载的东西,有需要直接点进去下载吧:https://download.csdn.net/download/baidu_39491365/1...
2019-10-30 19:47:44 3234
原创 socket学习
1.什么是socket(套接字)?我的理解:电脑要连上网络,不但需要硬件设施,也需要数据传输软件。socket就是这样的软件。因此要连接网络必须要套接字。它为什么叫套接字呢?可以简单理解为接入网络本身就有连接的意思,因此叫做套接字。2.soket创建过程。第一步:调用soket函数创建套接字。第二步:调用bind函数分配ip地址和端口号。第三步:调用listen函数转为可接受请...
2019-07-28 11:44:40 204
原创 理解pid控制算法(通俗易懂)
pid很简单。p:比例控制,比如目标值是60,传感器返回的当前值是40,那么当前值和目标值有一个误差,也就是60-40=20有一个20的误差,那么我们把这个20乘上一个自己定的值Kp,然后将20*Kp加到系统输入上,比如如果是pwm智能小车,那么就将20*Kp加给pwm输出,然后每隔几毫秒我们在读取一次误差,再用Kp乘上这个误差给pwm输出,那么误差值又被调控了,这样的话,系统就可以不断动态调...
2019-07-27 11:09:24 6328
原创 IIC简析以及STM32模拟实现IIC通讯
IIC主要有条双向信号线:SDA:数据线SCL:时钟线IIC概述:IIC是飞利浦公司推出的一种串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线。IIC总线通过上拉电阻(上拉电阻可以分到电压)接正电源。所以当总线空闲时,两根线均为高电平。连接到总线上的任意一个器件输出低电平,呢么总线型号就会被拉低,那么所有器件连接的总线都是低电平,这就是一种线“与”的...
2019-07-15 16:52:05 978
原创 用TabAcitivity制作Android顶部选项卡
先上结果截图:接下来讲怎么做,很简单,两步即可:1.新建一个选项卡的class继承TabActivity,新建一个对应的xml,xml里面加入三个layout。 为啥要新建三个layout呢?因为我的选项卡要三个界面,所以要新建三个layout,根据每个layout的id,可以将其与选项卡绑定,做成三个选项卡界面。我的xml代码如下:<?xml ve...
2019-06-23 19:49:58 804
原创 第三章 P3.1树和二叉树
1.树的一些概念非空的树有根,树有子树,树和子树就像递归一样,树中有子树,子树这棵树又有子树,又有子树又有子树又有子树又.....如下图注意子树和子树不会有相交的结点树是保证结点连通的一种最小连接方式,你随意去掉一条边,树就不连通了。 2.树的表示3.二叉树把儿子-兄弟表示法的图旋转45度,可以看出,实际上是一个二叉树。对于上图第三点...
2019-06-10 22:36:13 325
原创 第三章 引子(二分查找) 递归和循环分别实现
直接线上二分查找的递归实现和循环实现的代码还是不习惯用指针和链表,所以直接用数组来存。代码如下:递归实现:#include "stdio.h"int BinarySearch(int target,int head,int rear);int num[11]={1,2,3,4,5,6,7,8,9,10,11};int main(){ int target,ans; sca...
2019-06-09 20:48:42 247
原创 第二章 P2.3队列
队列和堆栈一样,是一种受限制的线性表。只能在一端插入,另一端输出,也叫先进先出。数据插入,可以称为入队,删除称为出队。这样叫起来逼格高。队列的顺序存储实现:队列的链式存储实现:...
2019-05-27 17:33:29 163
原创 STM32中断(外部中断和定时器中断)
一、外部中断spi,iic的中断和51单片机不一样,这些在stm32属于外设,是外部中断。因为STM32的中断非常多,因此必须设置中断优先级STM32有两个优先级的概念:抢占式优先级和响应式优先级(亚优先级,副优先级)抢占式优先级:高抢占式优先级的中断事件会打断当前主程序以及中断程序运行,俗称中断嵌套。响应优先级:在抢占式优先级相同的情况下,高响应优先级的中断优先被响应;...
2019-05-27 17:22:00 13194 3
原创 第二章 P2.2堆栈
后缀表达式求解就是堆栈问题,解决这个问题我们需要有一种存储方法,能顺序存储运算数,并在需要时“倒序”输出。后缀表达式求解代码:待补充堆栈的抽象数据类型描述:栈的顺序存储实现:堆栈的链式存储实现:待续、、、、...
2019-05-20 21:20:59 199
原创 第二章 P2.1线性表
线性表:由同类数据元素构成有序序列的线性结构。线性表起始位置为表头,结束位置为表尾。线性表顺序存储实现:利用数组的连续存储空间顺序存放线性表的各元素。主要操作实现:线性表的链式存储实现:链式存储实现,不要求逻辑上的两个元素物理上也相邻:通过“链”建立起数据元素之间的逻辑关系。插入和删除都不需要移动数据元素,只需要修改链。主要操作实现...
2019-05-18 15:29:49 239
原创 第一章 绪论
1.1什么是数据结构数据:整数,字串,图像等都可以说是数据数据元素:树的一个节点,每一种数据结构中的圆圈,由数据项组成 举个例子:比如一张地图,吧一个城市作为一个数据元素,那么可以把每个城市的经纬度,人口数作为它的数据项, 多个数据项构成一个数据元素,我们对数据元素进行操作数据对象:是性质相同的元素的集合,例如...
2019-05-14 22:59:51 154
原创 pid控制算法中的微积分
想来当初没理解pid还是因为微积分学的不到位啊,结果到最后只能强行用用公式。先上pid的公式pid原公式离散下的pid公式上面两个公式,在实际应用中们都用第二个,哈哈,是不是看起来比第一个简单一点,但实质上都是一样的。比例环节不说,没有牵涉到微积分。主要是积分环节和微分环节。积分:众所周知积分就是求面积,即∫err(t)dt,可是我们的err(t)是每一时刻误差的函数,那...
2019-05-06 10:21:22 3015 2
原创 什么是微分?导数和微分的区别是什么?微分和积分的联系?
先总的抽象地说一下微分是什么,假设有一个函数y=f(x)。假设y轴上有一个增量,把这个增量叫做Δy。字面上理解,什么是增量?就是增大的量,那么可以这么用式子表示,Δy = f(x+Δx) - f(x),Δx是一个x轴上的增量。当Δx无限接近于0的时候,Δy就是微分,记为dy。为什么当Δx无限接近于0的时候,这个增量就是微分呢?继续往下看,图1部分有解释。导数的定义式子:f '(x0...
2019-05-05 22:49:37 42980 10
原创 51单片机生成二维码
最近搞了个单片机生成二维码,步骤如下1.下载QRCode生成的驱动源代码,这个驱动是c语言编写的可以移植到各种c语言写的工程上去,下面附上下载链接:https://download.csdn.net/download/baidu_39491365/11109832下载好了后,里面有一个QR Code源码库,还有一个我根据源码写好的示例工程,按照里面说明的硬件搭一下,直接烧录程序就可以生...
2019-04-14 10:36:53 6126 23
原创 c51单片机模块化编程
在刚接触单片机,刚编写代码的时候都只是有一个.h 和一个.c文件。把所有的函数都写在.c里面。这样遇到复杂的系统时,代码量就很大,一下子就是几百行。而且把所有函数写在一个.c里不利于移植,对于以后的开发有了很大的限制。为了解决这个缺点就必须学会模块化编程。将程序分解成一个一个模块。这样就有了多个.c 和多个.h。下面开始讲解什么是模块化编程,怎么去模块化。借用网上的流水灯例子来说...
2018-11-18 17:46:03 7005 9
原创 stl sort()和结构体结合使用
https://blog.csdn.net/midle110/article/details/8152528参考上面博客的代码。
2018-11-14 18:12:51 348
原创 HDU - 1263 STL map和结构体嵌套使用。
例题:HDU - 1263夏天来了~~好开心啊,呵呵,好多好多水果~~Joe经营着一个不大的水果店.他认为生存之道就是经营最受顾客欢迎的水果.现在他想要一份水果销售情况的明细表,这样Joe就可以很容易掌握所有水果的销售情况了.Input第一行正整数N(0<N<=10)表示有N组测试数据.每组测试数据的第一行是一个整数M(0<M<=100),表示工有M次成功的...
2018-11-14 18:08:07 261
原创 STL C++全排列函数的使用
这是一个神器,一个全排列的函数 next_permutation(arr,arr+5),下面介绍用法:用函数得先导入头文件 #include<algorithm>示例代码如下#include<stdio.h>#include<algorithm>using namespace std;int main(){ //使用全排函数前先将数...
2018-10-23 15:36:48 190
原创 Android HttpURLConnection 实现Http协议与web传输数据
注意点:1.添加网络权限 <uses-permission android:name="android.permission.INTERNET"/>如果没加 会出现 java.lang.SecurityException: Permission denied (missing INTERNET permission?)的错误2.Http连接是一个耗时操作 必须写在线程中...
2018-09-26 15:09:48 193
原创 mysql8.0版本修改密码,以及找不到my.ini重置密码方法
网上都是说显示隐藏文件,打开mysql,里面可以找到my.ini但是实际上我连mysql文件夹都找不到,这可能是因为我没有配置my.ini而是直接用mysqld --initialize --console来生成data文件夹的原因。接下来说说我好不容易找到的解决办法;1.登陆后改密码 常规的改密码我不说了;可能是因为升级到8.0的原因,他总是提示 “You must reset yo...
2018-09-08 11:54:28 2998 1
转载 如何学好游戏3D引擎编程(摘抄)
网上看到,觉得很好,因此收藏一下,侵删。《如何学好游戏3D引擎编程》此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰这篇文章是我一年半前,找工作时候写的,那时是发到学校的BBS上。现在我工作了,想法和以前也有不同,但对游戏引擎编程理念还是基本差不多。在我没遇到U3以前,一直研究WILDMAGIC,可以说是GAME...
2018-08-24 21:10:30 354
原创 新导入eclipse android工程出现红色感叹号解决办法
一般是因为导入的工程的jar包,你的电脑中没有, 右键工程,选择properties,选择java build path,选择Libraries,会看见许多jar包红叉,仔细看有指出jar包的具体路径,去网上,将缺少的jar包下载下来。方案1、将下载好的所有jar包按照原来缺少的jar包的路径去贴好,clean一下就好了方案2、将下载好的jar包贴到工程根目录下的libs文件夹中,或者根目...
2018-08-21 21:49:26 291
原创 ListView与ArrayAdapter的使用
要使用酷炫的listView,必须要会用适配器。什么是适配器呢,适配器就是将布局和数据连接起来的东西。比如,一个ListView里面有很多行东西(Item),这些东西有可能只是一个字符串,也有可能是一个比较复杂的布局;但只需要显示字符串的时候,我们可以很简单解决,代码如下;list的xml布局:<RelativeLayout xmlns:android="http://...
2018-05-30 01:19:14 782
原创 Android Handler更新UI
Handler是用来更新UI的一种机制,它还封装了一套消息的处理机制。为什么要用Handler来更新UI呢,因为Android不准许在子线程中去更新主线程UI,更新UI必须在源线程中更新,要在子线程中更新UI,则需要Handler类。怎么使用呢?如果只是更新UI的话很简单;因为很简单所以贴个伪代码,套入即可;Handler handler = new Handler();子线程中...
2018-05-29 18:44:23 435
原创 Android start()方法使用服务并通过MediaPlayer类实现背景音乐
首先先建一个新的类,例如MusicService,将这个类继承Service类;蓝后,方法重写;下面是生命周期,可以重写的方法在里面蓝后,去注册一哈这个服务 <service android name=".MusicService"></service>蓝后去MainActivity里启动这个服务,可以在OnCreate或者按钮监听里加上代码Intent intent = ...
2018-05-17 05:51:16 1199
原创 最长上升子序列(LIS)
小菜鸡刚学完,趁热记录一波;最长上升子序列,顾名思义,就是求一段序列中的子序列,这些个子序列要求是不断上升的,并且是最长的,例如:seq[]={1,2,3,1,2,3} //举这个例子是有特殊用意的,题目经常要求的是“最长不下降子序列” 下面我们举的例子都是最长不下降,事实上和最长上升也只是差一个等号而已;seq的最长上不下降子序列就是,{1,1,2,3}或者{1,2,2,3},就是...
2018-05-14 20:53:21 226
原创 java多态
多态,就是指,父类引用可以指向多个子类,并依据指向子类的不同,而调用不同子类的同一方法(只能是从父类继承过来的),如下:package test;class A{ public void f() { System.out.println("111"); }}class C extends A{ ;}class B extends A{ public void f()...
2018-04-30 05:08:03 118
原创 java静态方法的作用
静态方法,系统会为静态方法分配一个固定的内存空间。而普通方法,会随着对象的调用而加载,当使用完毕,会自动释放掉空间。普通方法的好处是,动态规划了内存空间的使用,节省内存资源。静态方法,方便,运行快,而如果全部方法都用静态方法,那么每个方法都要有一个固定的空间,这样的话太占内存。因而也就解释了,为什么静态方法可以直接被类名调用,而不需要用对象调用, 因为他有固定空间,随类的加载而加载。静态方...
2018-04-30 01:53:33 13882
51单片机生成二维码(QR Code)+12864并口屏显示+附QR Code c语言生成驱动源码
2019-04-12
Android和linuxTCP服务器通信收到乱码
2020-02-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人