<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tidavery的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/tidavery</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; tidavery]]></copyright><item><title><![CDATA[【open-drain与push-pull】图表对比]]></title><link>https://blog.csdn.net/tidavery/article/details/16787641</link><guid>https://blog.csdn.net/tidavery/article/details/16787641</guid><author>tidavery</author><pubDate>Sun, 17 Nov 2013 23:38:00 +0800</pubDate><description><![CDATA[【open-drain与push-pull】
GPIO的功能，简单说就是可以根据自己的需要去配置为输入或输出。但是在配置GPIO管脚的时候，常会见到两种模式：开漏（open-drain，漏极开路）和推挽（push-pull）。
对此两种模式，有何区别和联系，下面整理了一些资料，来详细解释一下：
图表 1 Push-Pull对比Open-Drain




Push-Pull推挽输出]]></description><category></category></item><item><title><![CDATA[推挽输出和开漏输出]]></title><link>https://blog.csdn.net/tidavery/article/details/16760071</link><guid>https://blog.csdn.net/tidavery/article/details/16760071</guid><author>tidavery</author><pubDate>Sun, 17 Nov 2013 23:22:35 +0800</pubDate><description><![CDATA[推挽输出:可以输出高,低电平,连接数字器件;

开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.

我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示，右边的那个三极管集电极什么都不接，所以叫]]></description><category></category></item><item><title><![CDATA[基于S7-200的PLC对里程轮（增量式码盘）解码的应用]]></title><link>https://blog.csdn.net/tidavery/article/details/12658709</link><guid>https://blog.csdn.net/tidavery/article/details/12658709</guid><author>tidavery</author><pubDate>Sun, 13 Oct 2013 00:06:45 +0800</pubDate><description><![CDATA[基于S7-200的PLC对里程轮（增量式码盘）解码的应用
解码模块为JC-11：工业增量式码盘 解码模块，接口简单，易于使用。]]></description><category></category></item><item><title><![CDATA[用51单片机设计一款记忆力测试小游戏]]></title><link>https://blog.csdn.net/tidavery/article/details/9898679</link><guid>https://blog.csdn.net/tidavery/article/details/9898679</guid><author>tidavery</author><pubDate>Sun, 11 Aug 2013 12:38:11 +0800</pubDate><description><![CDATA[用51单片机设计一款记忆力测试小游戏]]></description><category></category></item><item><title><![CDATA[一款单片机开发板，推荐给单片机入门的童鞋]]></title><link>https://blog.csdn.net/tidavery/article/details/7943673</link><guid>https://blog.csdn.net/tidavery/article/details/7943673</guid><author>tidavery</author><pubDate>Tue, 04 Sep 2012 20:27:47 +0800</pubDate><description><![CDATA[网站：http://no-cping.com/

         一款LHcar单片机开发板小车，主旨是“在玩的过程中学习单片机”。
         常见的单片机开发板搭载了一个小车的底盘，可以通过Android手机遥控、电脑遥控什么的，挺有意思，让使用者在学习单片机时能脱离枯燥的理论知识，在玩乐中获取单片机系统开发的能力。



        板上资源也挺齐全，另外可以扩展6]]></description><category></category></item><item><title><![CDATA[无需编程，DIY自己智能小车的Android蓝牙遥控软件（三）]]></title><link>https://blog.csdn.net/tidavery/article/details/7943654</link><guid>https://blog.csdn.net/tidavery/article/details/7943654</guid><author>tidavery</author><pubDate>Tue, 04 Sep 2012 20:24:17 +0800</pubDate><description><![CDATA[可以用手机自测一下，这用我们只用Roll 和Pitch两个数据，当手机平置时，它们接近于0，当手机前翻或侧翻时，两个值分别在±90之间变化。利用这两个数据便可搭建传送蓝牙指令的程序了。
4、



我们把发送指令的程序段放在时钟里面，这里每300ms执行一次程序段：



5、
最后考虑一下当程序出错了要怎么办吧：



Final：
自此，程序模块搭建完成了，返回到]]></description><category></category></item><item><title><![CDATA[无需编程，DIY自己智能小车的Android蓝牙遥控软件（二）]]></title><link>https://blog.csdn.net/tidavery/article/details/7943620</link><guid>https://blog.csdn.net/tidavery/article/details/7943620</guid><author>tidavery</author><pubDate>Tue, 04 Sep 2012 20:13:46 +0800</pubDate><description><![CDATA[Block Editor里面各类模块代表的意义：





现在该考虑一下我们的Android软件要怎么运行，列出来需要哪些控件。
向前按钮、向后按钮、向左、向右、………，哦，不要这样吧，试一试手机的重力感应功能，通过手机体态传感器来控制小车显然比按按钮更酷一些。
 
简要流程图：                              我的手机软件截图：



可能要]]></description><category></category></item><item><title><![CDATA[无需编程，DIY自己智能小车的Android蓝牙遥控软件（一）]]></title><link>https://blog.csdn.net/tidavery/article/details/7943576</link><guid>https://blog.csdn.net/tidavery/article/details/7943576</guid><author>tidavery</author><pubDate>Tue, 04 Sep 2012 19:58:18 +0800</pubDate><description><![CDATA[网站: http://no-cping.com/ 
       很多热衷于玩单片机小车、机器人的童靴，往往也向往着有天能自己编写一个Android手机的遥控程序，通过自己的手机遥控小车，单片机程序用C语言或者汇编什么的都可以容易完成，，无奈要写一个上位机的Android控制程序就要会java、还要学一点xml知识，对于只学过C 或C++的人来说……..╮(╯▽╰)╭
         不过万]]></description><category></category></item><item><title><![CDATA[业余小批量电路板焊接方法]]></title><link>https://blog.csdn.net/tidavery/article/details/7931061</link><guid>https://blog.csdn.net/tidavery/article/details/7931061</guid><author>tidavery</author><pubDate>Fri, 31 Aug 2012 23:08:32 +0800</pubDate><description><![CDATA[如果产品生产的数量较少，大型的电子厂家就不愿意为你生产加工。即使愿意为你加工，你的加工费将因为数量小变得非常非常的昂贵，甚至仅仅加工费就远远超过成品板的价值。
　　但是，有时又需要生产几十、几百块板，难道你用电烙铁一个一个的焊接？那样成本也会很贵。
　　有没有一个低成本的方法呢？有，只要有电饭煲就可以了。请看以下组图：
　　先将电子元件插在电路板上并放好，注意先插小元件，注意压平元件]]></description><category></category></item><item><title><![CDATA[红外遥控协议-NEC协议]]></title><link>https://blog.csdn.net/tidavery/article/details/7880714</link><guid>https://blog.csdn.net/tidavery/article/details/7880714</guid><author>tidavery</author><pubDate>Sat, 18 Aug 2012 14:28:10 +0800</pubDate><description><![CDATA[为方便理解所看到的波形是从红外接收管出来的信号，跟协议所说的信号高低(0或1）刚好相反。   


NEC协议是众多红外遥控协议的其中一种,除NEC外,还有RC5、RC6等其它的。市面上买到的非学习型万能电视遥控器大多集成一种或多种编码是NEC型的，我买的二个遥控器中就有三种以上编码是NEC的。

NEC编码的一帧（通常按一下遥控器按钮所发送的数据）由引导码、地址码及数据码组成，,如下图]]></description><category></category></item><item><title><![CDATA[RTX51 Tiny中容易混淆的问题]]></title><link>https://blog.csdn.net/tidavery/article/details/7828828</link><guid>https://blog.csdn.net/tidavery/article/details/7828828</guid><author>tidavery</author><pubDate>Fri, 03 Aug 2012 21:33:29 +0800</pubDate><description><![CDATA[RTX51 Tiny是 Keil uVision中自带的一个小型嵌入式RTOS，具有小巧、速度快、系统开销小、使用方便等优点。使用RTX51 Tiny能够提高系统的稳定性，优化程序的性能；而且它是为51单片机专门定制的，所以在51单片机上的运行效率比其它一些通用的RTOS性能也要好一些。 
　　但是，由于RTX51 Tiny的相关资料和书籍比较少，大部分只是对程序自带帮助文件的简单翻译，很少进行]]></description><category></category></item><item><title><![CDATA[“真正”的程序员]]></title><link>https://blog.csdn.net/tidavery/article/details/7682008</link><guid>https://blog.csdn.net/tidavery/article/details/7682008</guid><author>tidavery</author><pubDate>Thu, 21 Jun 2012 10:20:13 +0800</pubDate><description><![CDATA[前言
 
自从计算机问世以来，程序设计就成了令人羡慕的职业，程序员在受人宠爱之后容易发展成为毛病特多却常能自我臭美的群体。


如今在Internet上流传的“真正”的程序员据说是这样的： 

(1)   真正的程序员没有进度表，只有讨好领导的马屁精才有进度表，真正的程序员会让领导提心吊胆。 

(2)   真正的程序员不写使用说明书，用户应当自己去猜想程序的功能。 

(3]]></description><category></category></item><item><title><![CDATA[实时时钟芯片 DS1302使用手册]]></title><link>https://blog.csdn.net/tidavery/article/details/7661431</link><guid>https://blog.csdn.net/tidavery/article/details/7661431</guid><author>tidavery</author><pubDate>Wed, 13 Jun 2012 23:42:33 +0800</pubDate><description><![CDATA[特性：
实时时钟（RTC）计秒、分、时、日期、月、星期和年,并且带闰年,有效补偿到2100年 
31字节、电池备份的、非易失性（NV）RAM来存储数据 
串行I/O使得引脚数量最少 
宽范围工作电压,2.0V到5.5V 
在2.0V时,功耗小于300nA 
在时钟/RAM中读/写连续地址的方式为脉冲串式 
8引脚DIP或可选的8引脚SOIC用于表面安装 
简单的3线接口 
TTL]]></description><category></category></item><item><title><![CDATA[无线遥控解码接收板的输出格式 非锁/互锁/自锁的区别]]></title><link>https://blog.csdn.net/tidavery/article/details/7570369</link><guid>https://blog.csdn.net/tidavery/article/details/7570369</guid><author>tidavery</author><pubDate>Tue, 15 May 2012 21:04:46 +0800</pubDate><description><![CDATA[为了满足不同的应用需要，解码接收电路的输出模式通常分为非锁，互锁，自锁，混合输出。几种模式通俗的说，非锁相当于轻触开关，互锁相当于风扇的档位开关，自锁相当于电灯开关。
-------------------------------------------
下文为对三种模式详细描述：
  非锁型输出又称点动输出，数据脚输出的电平是瞬时的而且和发射端是否发射相对应，可以用于类似点动的控制，有遥控]]></description><category></category></item><item><title><![CDATA[WINCE6.0经验和试用版 Plarform Builder 6.0到期后的解决办法]]></title><link>https://blog.csdn.net/tidavery/article/details/6180001</link><guid>https://blog.csdn.net/tidavery/article/details/6180001</guid><author>tidavery</author><pubDate>Fri, 11 Feb 2011 23:09:00 +0800</pubDate><description><![CDATA[vs过期了，无限痛苦中，还有很多东西没做完。算了吧，还是自己找了一下WinCE6.0 Platform Builder过期了，打开工程提示已超过180天，google了一下解决办法：把gooogleman大侠提供的方法贴出来与大家共享之:"在PB安装目录下有个etkremov.inf，试用期是以此文件的创建日期来计算的。将其删除，然后新建一个文件，再重命名为 etkremov.inf，不要直接新建这个文件，否则由于filesystem tunnel，会导致新建的文件总是沿用老文件的创建时间"又看了一下何老师]]></description><category></category></item><item><title><![CDATA[Windows 系统环境变量]]></title><link>https://blog.csdn.net/tidavery/article/details/6162175</link><guid>https://blog.csdn.net/tidavery/article/details/6162175</guid><author>tidavery</author><pubDate>Tue, 25 Jan 2011 00:16:00 +0800</pubDate><description><![CDATA[<br /><br />原文：http://blog.csdn.net/syf442/archive/2010/11/29/6041935.aspx<br />      %ALLUSERSPROFILE%<br />      列出所有用户Profile文件位置。<br />      %APPDATA%<br />      列出应用程序数据的默认存放位置。<br />      %CD%<br />      列出当前目录。<br />      %CLIENTNAME%<br />      列出联]]></description><category></category></item><item><title><![CDATA[Error: Ram start overlaps rom binary]]></title><link>https://blog.csdn.net/tidavery/article/details/6157914</link><guid>https://blog.csdn.net/tidavery/article/details/6157914</guid><author>tidavery</author><pubDate>Sat, 22 Jan 2011 00:07:00 +0800</pubDate><description><![CDATA[<br /> <br />感觉这几天编译bsp，所有的问题都被我遇到了，今天的问题如下：<br /> <br />Error: Ram start overlaps rom binary<br />出错内容如下：<br /> view plaincopy to clipboardprint?Processing NK    Writing D:/WINCE600/OSDesigns/Mini2440-with-QQ/Mini2440-with-    QQ/RelDir/Mini2440_ARMV4I_Re]]></description><category></category></item><item><title><![CDATA[Wince 6.0 中Error: failed PB timebomb check解决方法]]></title><link>https://blog.csdn.net/tidavery/article/details/6155831</link><guid>https://blog.csdn.net/tidavery/article/details/6155831</guid><author>tidavery</author><pubDate>Thu, 20 Jan 2011 21:49:00 +0800</pubDate><description><![CDATA[<br /><br />今天在搭ce6.0的环境时，碰到了一个错误。在Sysgen的时候，开始都没有出现错误，到 make run time image的时候， 弹出了如下的错误 ：<br />makeimg: run command: romimage F:/OSDesign/CHSOS/CHSOS/RelDir/DeviceEmulator_ARMV4I_Release/ce.bib<br />Error: failed PB timebomb check<br /> <br />makeimg: FA]]></description><category></category></item><item><title><![CDATA[UpdateData()用法]]></title><link>https://blog.csdn.net/tidavery/article/details/6140834</link><guid>https://blog.csdn.net/tidavery/article/details/6140834</guid><author>tidavery</author><pubDate>Fri, 14 Jan 2011 23:20:00 +0800</pubDate><description><![CDATA[<br /><br />一、总结UpdateData()函数<br />UpdateData(true);//用于将屏幕上控件中的数据交换到变量中。<br />UpdateData(false);//用于将数据在屏幕中对应控件中显示出来。<br />       当你使用了ClassWizard建立了控件和变量之间的联系后：当你修改了变量的值，而希望对话框控件更新显示，就应该在修改变量后调用UpdateData(FALSE)；如果你希望知道用户在对话框中到底输入了什么，就应该在访问变量前调用UpdateDa]]></description><category></category></item><item><title><![CDATA[RETAILMSG 的定义与实现&Windows CE 6.0下dpCurSettings编译出错及解决办法]]></title><link>https://blog.csdn.net/tidavery/article/details/6140819</link><guid>https://blog.csdn.net/tidavery/article/details/6140819</guid><author>tidavery</author><pubDate>Fri, 14 Jan 2011 23:07:00 +0800</pubDate><description><![CDATA[在PUBLIC下面，很多地方是用不了RETAILMSG来打印信息，因为它取而代之的是DEBUGMSG，但是，如果我们不编译debug版本的话，这个打印函数又是不起作用的。如果想用使用RETAILMSG，就得自已定义了。例如在GPE里面，就没有对RETAILMSG的支持。我们可以自已定义#include    //需要包含这两个头文件#include #undef RETAILMSG  //取消先前定义RETAILMSG，避免其他地方以定义了引起冲突 #define RETAILMSG(cond,printf]]></description><category></category></item></channel></rss>