<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lintao8613的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lintao8613</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lintao8613]]></copyright><item><title><![CDATA[一文读懂PID控制算法（抛弃公式，从原理上真正理解PID控制）]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/82790949</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/82790949</guid><author>lintao8613</author><pubDate>Thu, 20 Sep 2018 17:30:29 +0800</pubDate><description><![CDATA[PID控制算法的C语言实现一 PID算法原理

   最近两天在考虑一般控制算法的C语言实现问题，发现网络上尚没有一套完整的比较体系的讲解。于是总结了几天，整理一套思路分享给大家。

   在工业应用中PID及其衍生算法是应用最广泛的算法之一，是当之无愧的万能算法，如果能够熟练掌握PID算法的设计与实现过程，对于一般的研发人员来讲，应该是足够应对一般研发问题了，而难能可贵的是，在我所接触的控制算法...]]></description><category></category></item><item><title><![CDATA[shell里的getopts]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/82711072</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/82711072</guid><author>lintao8613</author><pubDate>Sat, 15 Sep 2018 09:43:04 +0800</pubDate><description><![CDATA[#!/bin/shwhile getopts :ab:c: OPTION;do
    case $OPTION in
    a)echo &quot;get option a&quot;
    ;; 
    b)echo &quot;get option b and parameter is $OPTARG&quot;
    ;; 
    c)echo &quot;get option c and parameter is $OPTA...]]></description><category></category></item><item><title><![CDATA[dtb文件的反向编译为dts]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/82701308</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/82701308</guid><author>lintao8613</author><pubDate>Fri, 14 Sep 2018 13:11:33 +0800</pubDate><description><![CDATA[/wislink/kernel$ ./scripts/dtc/dtc -I dtb -O dts ../../weibp/rk-kernel_ok.dtb  -o ./rk-kernel_ok.dts]]></description><category></category></item><item><title><![CDATA[android添加按键（二） 添加按键流程、出现问题]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/82378798</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/82378798</guid><author>lintao8613</author><pubDate>Tue, 04 Sep 2018 09:57:20 +0800</pubDate><description><![CDATA[Android 系统对加载键盘布局文件(Generic.kl ).
在 开发板的文件目录 /system/usr/idc 中有一系列的 *.idc  框架层会根据驱动中的配置，自动生成设备的idc 文件。
例如在 EventHub.cpp 中的 loadConfigurationLocked 方法中，会获取设备的idc 文件。如果没有获取到idc 文件，那么会采用默认的Generic.kl .
在...]]></description><category></category></item><item><title><![CDATA[解决：输入错误: 没有文件扩展“.vbs”的脚本引擎]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/81636180</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/81636180</guid><author>lintao8613</author><pubDate>Mon, 13 Aug 2018 20:09:49 +0800</pubDate><description><![CDATA[ 

2018年06月05日 14:28:44

阅读数：3430

在桌面新建一个文本文档：

                把：



 


	Windows Registry Editor Version 5.00
	
	
	[HKEY_CLASSES_ROOT\.VBS]
	
	
	@=&quot;VBSFile&quot;
	
	
	[HKEY_CLASSES_ROOT\.VBS\PersistentH...]]></description><category></category></item><item><title><![CDATA[android系统编译报错]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/81609298</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/81609298</guid><author>lintao8613</author><pubDate>Sun, 12 Aug 2018 19:07:18 +0800</pubDate><description><![CDATA[ 

 

 

frameworks/base/media/java/android/media/SRTRenderer.java:168: 警告: '_' 用作标识符
        final int _ = 0;
                  ^
  (Java SE 8 之后的发行版中可能不支持使用 '_' 作为标识符)
frameworks/base/media/java/and...]]></description><category></category></item><item><title><![CDATA[Android 线程的销毁]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/81590692</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/81590692</guid><author>lintao8613</author><pubDate>Sat, 11 Aug 2018 20:35:06 +0800</pubDate><description><![CDATA[Android 线程的销毁

 (2011-10-30 09:52:17)

转载▼

 
			分类： Android_SDK
		在Android开发中，经常会用到线程和Timer，如果没有主动关闭它们，当程序结束时，线程并没有被销毁，而是一直在后台运行着，当我们重新启动应用时，又会重新启动一个线程，周而复始，你启动应用次数越多，开启的线程数就越多，你的机器就会变得越慢。还会导致意想不到的错误...]]></description><category></category></item><item><title><![CDATA[Android：控件GridView的使用]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/81295883</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/81295883</guid><author>lintao8613</author><pubDate>Tue, 31 Jul 2018 09:12:56 +0800</pubDate><description><![CDATA[如果是列表（单列多行形式）的使用ListView，如果是多行多列网状形式的优先使用GridView。

 




&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;GridView xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:layout_width=...]]></description><category></category></item><item><title><![CDATA[编写hello驱动的HAL层代码]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/81291145</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/81291145</guid><author>lintao8613</author><pubDate>Mon, 30 Jul 2018 20:16:22 +0800</pubDate><description><![CDATA[Android架构实例分析之编写hello驱动的HAL层代码

摘要：

HAL层中文名称又叫硬件抽象层，可以理解我Linux驱动的应用层。本文实现了一个简单的hello HAL的代码，衔接hello驱动和hello JNI：

http://blog.youkuaiyun.com/eliot_shao/article/details/51860229

Android标准架构实例分析之编写最简单的hello...]]></description><category></category></item><item><title><![CDATA[共用体里嵌套结构体的问题]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/81275573</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/81275573</guid><author>lintao8613</author><pubDate>Sun, 29 Jul 2018 21:09:38 +0800</pubDate><description><![CDATA[ 


	#include &amp;lt;stdio.h&amp;gt; 
	
	
	typedef union
	
	
	{
	
	
	unsigned int u;
	
	
	struct
	
	
	{
	
	
	unsigned char a :1;
	
	
	unsigned char b :1;
	
	
	unsigned char c :6;
	
	
	unsigned char d :1; 
	
...]]></description><category></category></item><item><title><![CDATA[android 回调函数]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/81186762</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/81186762</guid><author>lintao8613</author><pubDate>Tue, 24 Jul 2018 16:14:12 +0800</pubDate><description><![CDATA[1、概念

客户程序C调用服务程序S中的某个函数A，然后S又在某个时候反过来调用C中的某个函数B，对于C来说，这个B便叫做回调函数。

一般说来，C不会自己调用B，C提供B的目的就是让S来调用它，而且是C不得不提供。

由于S并不知道C提供的B姓甚名谁，所以S会约定B的接口规范（函数原型），然后由C提前通过S的一个函数R告诉S自己将要使用B函数，这个过程称为回调函数的注册，R称为注册函数。

2、...]]></description><category></category></item><item><title><![CDATA[如何让系统充电时不休眠]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/81184874</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/81184874</guid><author>lintao8613</author><pubDate>Tue, 24 Jul 2018 15:02:42 +0800</pubDate><description><![CDATA[这个功能可以用kernel锁WAKE_LOCK_SUSPEND来实现，如同USB插上的时候上锁了一样

dwc_otg_pcd.c

       wake_lock_init(&amp;amp;pcd-&amp;gt;wake_lock, WAKE_LOCK_SUSPEND,
           &quot;usb_pcd&quot;);

上锁之后，kernel睡眠时wakelock.c的suspend函数会禁止系统睡眠。注意...]]></description><category></category></item><item><title><![CDATA[GCC 关于禁用编译Kernel 是warning as a error]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/80948819</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/80948819</guid><author>lintao8613</author><pubDate>Sat, 07 Jul 2018 09:48:38 +0800</pubDate><description><![CDATA[android编译Kernel时，从高版本GCC起，就开始把warning作为error对待，比如出现错误：error, forbidden warning  --等等这样处理对于想快速见到结果的快速迭代模式来说有点碍手，怎样取消呢？在Kernel\Makefile中找到下面的语句KBUILD_CFLAGS   :=之后添加上这个参数：-Wno-error， 如果还不起作用的话，就使用下面最强的开...]]></description><category></category></item><item><title><![CDATA[[RK3288][Android6.0] 调试笔记 --- 关闭音频播放停止后进入Standby功能]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/80697830</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/80697830</guid><author>lintao8613</author><pubDate>Thu, 14 Jun 2018 20:19:53 +0800</pubDate><description><![CDATA[Platform: ROCKCHIPOS: Android 6.0Kernel: 3.10.92Android系统默认播放停止后3秒会进入Standby模式以节省电源.需求:    禁止进入StandbyHAL层虽然提供了Standby接口,但是不能直接屏蔽掉, 因为里面有pcm_close()和播放的pcm_start()配对.解决方法:    增加standby的延迟时间,默认3秒,可以改成一...]]></description><category></category></item><item><title><![CDATA[解决rk平台接上HDMI后主板播放媒体无声音]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/80697763</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/80697763</guid><author>lintao8613</author><pubDate>Thu, 14 Jun 2018 20:12:45 +0800</pubDate><description><![CDATA[diff --git a/services/java/com/android/server/WiredAccessoryManager.java b/services/java/com/android/server/WiredAccessoryManager.java  index c8d3510..2fb231e 100644  --- a/services/java/com/android/s...]]></description><category></category></item><item><title><![CDATA[Eclipse搭建Android开发环境（安装ADT，Android4.4.2）]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/80640141</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/80640141</guid><author>lintao8613</author><pubDate>Sun, 10 Jun 2018 12:23:24 +0800</pubDate><description><![CDATA[使用Eclipse做Android开发，需要先在Eclipse上安装ADT（Android Development Tools）插件。1.安装JDK 1.7JDK官网http://www.oracle.com/technetwork/java/javase/downloads/index.html，下载JDK7软件包，我安装的是1.7.0_55版本。安装完JDK后，配置下JDK环境即可。2.下载E...]]></description><category></category></item><item><title><![CDATA[RK3288 HDMI配置和调试]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/80624928</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/80624928</guid><author>lintao8613</author><pubDate>Fri, 08 Jun 2018 16:27:33 +0800</pubDate><description><![CDATA[RK3288 最大输出分辨率为 3840x2160HDMI 驱动代码位于 kernel/drivers/video/rockchip/hdmi/rockchip-hdmiv2 目录 1、设置默认输出分辨率网上的资源是修改 kernel/drivers/video/rockchip/hdmi/rockchip-hdmiv2 中的 rockchip-hdmi.h 文件，/* HDMI default ...]]></description><category></category></item><item><title><![CDATA[androidSDK编译报错汇总]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/80621780</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/80621780</guid><author>lintao8613</author><pubDate>Fri, 08 Jun 2018 13:09:36 +0800</pubDate><description><![CDATA[1问题描述:out/target/common/obj/PACKAGING/public_api.txt:23522: error 12: Class android.telephony.gsm.SmsMessage changed static qualifier解决方法:    切换JAVA版本touch frameworks/opt/telephony/src/java/android/te...]]></description><category></category></item><item><title><![CDATA[[RK3288][Android6.0] 调试笔记 --- Camera动态热插拔支持]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/80612869</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/80612869</guid><author>lintao8613</author><pubDate>Thu, 07 Jun 2018 17:45:09 +0800</pubDate><description><![CDATA[[RK3288][Android6.0] 调试笔记 --- Camera动态热插拔支持Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92原生Google代码只在开机的时候加载一次Camera 的配置, 当开机之后再去插USB Camera, 虽然USB模块能枚举成功USB Camera,但是Camera HAL 和 Camera Service是无...]]></description><category></category></item><item><title><![CDATA[android.intent.action.BOOT_COMPLETED 被延迟接收问题]]></title><link>https://blog.youkuaiyun.com/lintao8613/article/details/80402408</link><guid>https://blog.youkuaiyun.com/lintao8613/article/details/80402408</guid><author>lintao8613</author><pubDate>Tue, 22 May 2018 10:40:28 +0800</pubDate><description><![CDATA[                                                                

 

具体表现为开机后此服务过了20多秒才被启动，导致开机过慢。

在网上找了一下，没有找到比较好的解决办法，因此决定自己跟一下。

首先，找到发送这个广播的代码，位于 android/frameworks/base/services/java/com/android...]]></description><category></category></item></channel></rss>