自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android Binder之底层原理+上层AIDL流程梳理

读文字,还不如看图,这是我自己整理的流程图,可能有的地方不够准确,但对于理解Binder底层原理比较友好。

2021-11-26 16:25:51 360

原创 RxJava实例一:加载线上图片

最近在学习RxJava的课程,感觉还是挺有意思的一个开源框架,先搞点例子上来,供大家参考,我也做总结首先看主要的RxJava执行思想,链式执行然后看代码,重点看注释AndroidManifest中加入权限<uses-permission android:name="android.permission.INTERNET" />public class MainActivity extends AppCompatActivity { private..

2021-04-12 15:40:31 228

原创 wait和notify实现满仓20的压弹射击的生产者消费者模式

wait和notify主要应用在线程暂停和唤醒,wait会让出锁资源,所以在notify唤醒该线程时,需要重新竞争锁资源简单的代码实现如下: private static int maxLoadNum = 20; private int bulltNum = 0; private synchronized void putBullt(){ if (bulltNum >= maxLoadNum) { try {

2021-04-06 16:20:08 127

原创 ThreadPool简单使用

线程池的应用比较广泛,主要是让开发人员在开发过程中减少自己创建线程,管理线程的细节。1、核心线程开始执行2、还有新任务,就填充到阻塞队列中,等待核心线程执行3、阻塞队列满了,就开始创建新的线程,也就是第二个参数maximumPoolSize的数量了4、如果达到了第二个参数的最大值,就会跑到RejectedExecutionHandler最后一个参数中的错误处理中简单代码如下:public class MainActivity extends AppCompatActiv..

2021-04-06 16:14:35 336

原创 ThreadLoacl简单使用

ThreadLoacl简单理解,就是不是很多人同时抢一个足球了,而是教练每人发了一个足球,各自玩各自的,各自维护各自的,不能和别人抢夺。简答使用效果如下public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private Button bt1; private Button bt2; private Thre

2021-04-06 15:42:45 106

原创 java线程-如何用join实现T1、T2、T3线程,按照T3、T2、T1的顺序执行完毕

首先看一下join方法的内容和注释直接看翻译,大概意思是1、如果调用join方法时,如果时间参数为0,则是永远wait,和直接调wait方法很像2、如果调用join方法时,时间参数大于0,就等待那么久,超时返回3、这个join方法,用了一个while isAlive实现循环等待,判断只要当前线程活着,就调用wait4、此方法可以被notifyAll结束5、推荐应用程序中,不要在Thread用wait、notify和notifyAll/** * Waits at mos

2021-04-02 17:54:47 257

原创 Java线程-Interrupt如何结束线程?

实现此中断很简单,启动线程A,然后触发Interrupt但是需要注意,sleep、wait、join等方法,会抛出Interrupt异常,并且设置中断标志位为false,导致判断isinterrupt退出循环失败,这一点需要注意错误写法public class TestThread extends Thread { @Override public void run() { while(!isInterrupted()){//中断标志位设为fals..

2021-04-02 16:43:44 163

原创 android studio debug设置及连接方法

首先保证设备的adb是通的,可以通过adb devices查看目前连接的设备。通过adb connect + ip连接设备,保证成功后执行如下步骤。 1、2、 3、然后编译、安装好的应用、并在安卓平台上运行起来 4、5、再在设备下找到当前应用的包名即可。如上即可连接成功,一般需要自动跳出该包名的process,才能连接成功。如果连接不成功,请保证adb联通后...

2018-11-22 16:19:36 954

原创 Shell学习过程中的笔记

1.  Shell2.  Wc 统计文件中的行或者字或者字符  -l 列出多少行  -w 列出英文单词个数  -m 多少字符3.  (管道前的内容) | grep –c ‘hello’ 计算管道前内容中找到的字符串次数,单纯统计  -i 忽略大小写的不同  -n 顺便输出行号4.  变量的定义:直接在命令行中输入 MYNAME=ZTL,就可以设置一个变量名为MYNAME,内容为ZT

2016-11-28 09:36:39 506

原创 关于全局变量,如何被多个.c文件共享问题

这里有三个问题,都是比较类似的。1.      如果我要在别的文件引用本文件的全局变量你有哪几种方法?extern、使用函数传参、使用引用头文件的方式。2.      全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量。 可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此

2016-09-08 10:51:30 1380

原创 OV7670循迹算法整理

2016/7/31.  今天发现一个比较尴尬的问题,之前摄像头采集到的图像和现实中我显示的图像的旋转方向根本就是反的,而且是各种颠倒。这也是为什么之前战舰例程使用的LCD刷新是从上往下,再从左往右刷新的原因,所以,我在存储像素点的时候,需要按照LCD上使用的方法存储,才能够正确的存储图像。2.  现在实现了图像的正向显示,也就是,将摄像头采集到的320(宽)*240(高),进行隔行扫描,隔

2016-07-20 23:03:14 35373 56

原创 STM32学习经验(补充)

2016/3/23 1.      今天把普中开发板上的RS232芯片烧坏了,所以接下来要完成stlink的使用,来下载程序,同时也尝试调试程序,也算是被逼的去学一个很有用的工具,本来我都不想学stlink的。2.      先学习一下stm32的定时器,过程中,加入stlink的下载和调试。3.      定时器:stm32分高级定时器(TIM1和TIM8),通用定时器(TIM2-5

2016-06-18 09:31:42 6493 7

原创 Linux 下的sqlite3数据库使用及Linux C的数据库编程总结

1.      首先我在终端中,尝试使用数据库,也就是输入命令,对数据库进行操作,这个过程只是过渡,最后还是要过渡到使用数据库的编程接口来实现对应的功能。2.      创建并打开一个数据库文件sqlite3 student.db;3.      然后在这个数据库中创建一张表,名字叫做stu_info,然后这个表中可以存储两个数据,就是学生的学号和学生的姓名,这里把学生的学号作为主键,cr

2016-05-29 16:02:18 1312

原创 Linux C网络编程的一点总结

以下仅个人总结,望网友指正。我做的是,实现客户端与客户端之间互相通信,这样也算基本搭起来了,之前也做过一个即时通讯软件的项目,现在温习一下,所以点到为止。1.      网络结构的标准模型是OSI模型,由ISO国际互联网标准化组织定义的网络分层模型。2.      ISO/OSI七层网络模型:应用层---表示层---会话层---传输层---网络层---数据链路层---网络层

2016-05-29 10:31:59 801 2

原创 平衡小车项目解读日志

2016/3/311.      关于6050陀螺仪模块问题2.      今天开始着手平衡小车项目,蓝牙模块不用关心,只要知道可以连接,再判断串口发来的指令即可。3.      好像比较简单的是使用DMP,通过结合DMP,可以将我们的原始数据转换成四元素输出,再通过四元素算出欧拉角,从而得到yawroll 和 pitch。4.      因为做的是平衡小车,那么就不需要roll

2016-04-15 23:15:29 9822 11

原创 STM32部分学习经验(待补充)

2016/2/281. 学习STM32时,我准备的学习方法是,将网上下载下来的例程和模板进行学习,并不看视频了,因为有51的基础,所以看视频的话会有一点浪费时间。而且是使用库函数开发,底层部分在学习库函数时带着看看,反正后续会有ARM9的课,应该会有详细的讲解。2. 网上的模板是使用自己封装的函数和库函数.c文件,不使用keil提供的固件库,这样的好处是自己封装度较高,运用较为灵活,对各个

2016-03-18 10:48:38 1961

原创 关于单片机连接ESP8266模块截取其回显内容

1,首先,ESP使用串口,跟51单片机通信,控制端可以使用手机,但是,51单片机和手机不在一个档次,那么在51单片机上需要分析操作。2,ESP8266在接收或者发送数据时,会向串口发送回显内容,也就是提示信息,提示接收到了什么,发送了什么,所以,在单片机上做字符串的分析截取很重要,不然手机和单片机的通信质量大大下降,前期的wifi小车写项目的时候,这个问题困扰了我很久,后来进度过慢,我就折衷的

2016-01-28 16:53:18 8519 4

原创 智能wifi小车项目日志及重要问题描述解决

2016/1/17完成原理图,然后开始做PCB,但是存在布线复杂的问题,有的根本就是不合理的引脚分配。解决方法:根据实际的PCB元器件留出引脚位置,然后更改引脚,为就近的引脚,这样布线简单,而且清晰,不易出错。 LCD1602的问题,是可以通过不同的引脚控制吗?就是是不是可以把控制口的顺序更改,这样,布线变得简单,待解决。解决方法:明天测试使用不同的口对LCD1602操作。

2016-01-27 15:33:51 1842

原创 关于ESP8266使用总结

2016/1/20首先,该模块使用了AT指令进行操作,我们要做的,就是将需要的AT指令,以字符串的形式发给模块,即可实现相应的功能。1.      wifi模块ESP8266的默认波特率是115200,但是单片机不能达到那么快的传输速率,只能使用4800bps,那么设置的时候,必不可少的要先用转串口调试下载器(速度比较快,而且wifi模块默认115200bps,用单片机不能正确更改波特率,

2016-01-27 15:32:39 19003

原创 智能wifi小车程序原理说明

总体思想:1.      使用ESP8266与手机客户端连接通信,使用串口通信,利用AT指令像ESP发送命令,同时配置需要的内容,配置完成以后用手机连接wifi。2.      连接wifi以后,利用ESP自身的接受消息回显,让单片机捕捉回显中关键内容作为命令,来实施相应操作。要求:使用4800bps的比特率,捕捉命令和进行操作均在串口中断中做,并且不能做耗时操作,解决方法是使用即时性较高

2016-01-27 15:30:53 5407 1

原创 基于2.4GHz射频NRF24L01模块的智能家居项目总结

1.      经过陆陆续续的几个双休日和考试周里的空闲时间里的编写和调试,终于于2015/12/26今天晚上大体完成了智能家居的调试工作!总算是没有半途而废,耐心也受到挑战。2.      几个比较复杂的重要的模块,前面已经做过总结,这里不再赘述,配合起来使用,还是会存在一些延时导致的时差问题,会使得项目的工作不是很流畅,特别是加了温湿度模块以后,会在执行几次后,出现长时间的等待,然而在独立

2015-12-27 08:57:25 2064 4

原创 关于NRF24L01模块使用的部分个人总结

1.首先,NRF24L01是一个基于2.4GHZ的射频模块,增强型的具有更好的稳定性。2.NRF使用的是SPI协议来进行操作,所以,需要理解SPI的几个输入输出口,再加以正确的时序操作,即可以操作NRF3.对NRF的操作,总体上的是,使用SPI的六根线,IRQ,MISO,MOSI,SCK,CSN,CE对NRF中的寄存器进行操作以及状态的转换。4.SPI传输一组数据是使用交换的方式,即,

2015-12-18 22:50:14 7523 2

原创 单片机学习阶段告一段落

从九月二十号开始,开始陆陆续续的学习单片机的原理以及各个模块的应用,今天终于把学过的模块全部在单片机上跑起来了,虽然以前自己学过一点点,但还是不如现在集中培训来的效率高,可能一年过后我是有点进步,才会对同一样东西有了不同的接受程度。即使单片机是简单的,但还是我成为嵌入式专业一员的前奏,希望在嵌入式专业上越走越远。  以下是关于项目建立的一些小总结,我感觉比较有用。1.将功能函数装在一个.c

2015-11-23 20:21:21 652

原创 实体最小系统板

虽然以前电子实习焊过收音机,但是这个最小系统板才是真正的处女作,真真正正的从一点一点的画原理图,到PCB,再到成品板子,然后焊接元器件,再调试,最终这块小小的板子终于能够烧录程序,跑起来了,就像播了种子,最后开花结果了。  总结:  1.焊接元器件前需要对各个元器件的型号,大小等清楚了解。  2.最小系统板没有串口,可以通过把一个现成单片机的P3^0,P3^1口接到最小系统

2015-10-25 20:06:08 650

原创 《高质量C程序编程指南》读书笔记

1.函数考察的三个方面:(1)编程风格(2)出错处理 (3)算法复杂度分析(用于提高性能)2.源文件开头需要有:(1)   版权信息(2)   文件名称,标识符,摘要(3)   当前版本号,作者/修改者,完成日期(4)   版本历史信息3.不提倡使用全局变量,类似于 externint values;这样的声明4.长表达式,于低优先级处拆分成新行,操作符位于新行之首

2015-10-19 20:56:10 597

原创 网络编程,socket编程,TCP

关于网络编程,socket编程,TCP,客户端,服务器C/S架构编程思路学习这个我感觉是看着困难,理解了以后,原理还是能够 接受的,有什么不对的地方还请大牛们指正。下面给出的知识服务器和客户端能够互发信息,在此基础上可以在客户端和服务器添加线程,这样就是即时通讯软件项目的前身了,服务器通过每个客户端的fd,确认是哪个客户端,从而准确的发送和接收消息,最终能够做到客户端和客户端之间互

2015-09-24 14:28:56 584

原创 PCB-从零开始

只是一个初学者的一些总结感想。  今天算是第一天让我真正感受到我是嵌入式专业的学生,从一块电路板开始,从零开始。看似忙忙碌碌的一天天,还不如学到一点东西来的实惠。  我在慢慢靠近我喜欢的东西,我感到很兴奋。  其中最基础的是四个模块,主电路,复位电路,晶振电路,供电电路,这些构成了一个最简单的单片机,其中涉及了一些模拟电子技术的知识,虽然那时候期末考试90+,但是现在回

2015-09-20 21:45:47 1136

原创 关于就业指导和职业规划

1.首先明确职业的分类,如应用软件工程师,嵌入式系统开发工程师等等。2.未来的职业方向可以是,整体软件工程师,嵌入式软件工程师,系统分析师,项目经理,部门经理,资深系统管理、网络、系统工程师,软件测试工程师3.企业需要的人才:有足够的项目经验,有开发经验,技术过硬,能够较快的上手项目,为公司创造效益4.工作态度:诚信正直,有工作热情,强烈的责任心。5.找工作靠什么?第一,实力。第二

2015-08-06 23:16:18 711

OV7670摄像头循迹 程序源码

该代码是我博客中的源码,需要者自取。

2017-07-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除