自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (4)
  • 收藏
  • 关注

转载 pic24bootloader

//PIC24系列的串行自举(Bootloader)代码设计如下://文件名:boot.c,该文件调用memory.c和C30编译器系统配置文件config.h。//本Boot代码兼容AN851通信协议,是在PIC24F和PIC16/18 的AN851基础上开发出来//的最新版本。#include "PIC24F Serial Bootloader\config.h"//全局变量WOR

2016-01-14 03:57:08 2438

原创 Ultedit 配合 astyle 格式化C代码

这是我亲测可用的且是最好用的工具了。再Ultedit 高级 中 点击 工具栏配置得到下图,在命令行中 输入:"C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\GNU\astyle.exe" --style=ansi --mode=c %f千万切记,引号是一定要有的,为此我研究了好一阵子。在 输出 那一栏里选

2016-01-14 03:20:03 534

转载 AD的仪表放大器总结

AD524:  精密AD524:  精密仪表放大器仪表放大器

2014-09-19 11:57:00 2693

原创 乘法器型号

AD834 800MHz 可用带宽AD734四象限模拟乘法器(带宽仅为10MHz)、AD539二象限模拟乘法器(带宽为60MHz)、AD534四象限模拟乘法器(带宽为60MHz)

2014-09-19 10:40:01 1229

转载 退耦电容

所谓退耦,既防止前后电路网络电流大小变化时,在供电电路中所形成的电流冲动对网络的正常工作产生影响。换言之,退耦电路能够有效的消除电路网络之间的寄生耦合。  退耦滤波电容的取值通常为47~200μF,退耦压差越大时,电容的取值应越大。所谓退耦压差指前后电路网络工作电压之差。 如下图为典型的RC退耦电路,R起到降压作用:

2014-08-26 05:48:44 1329

原创 开发板日志

2014-7-15板子焊好后,通电测试,各点电压正常。将SWD两个端子连接到JLink的SWD端子上(7,9),下载程序无反应。请教秦总后得知需将电源正负也接到JLink上,改为4线连接后(7,9,1,4)端后,第一次能够下载程序,接着就再也下载不了了。查阅资料得知,MCU运行的程序会干扰SWD工作,如果不使用JLink的自动复位端的话,需要在点击下载按钮后

2014-07-17 13:40:51 698

转载 c#视频流畅录制

从网上找了很多关于视频捕捉录制及压缩的资料,发现大多数的视频在录制过程中,呈漏斗状,稍微动一下,就成亲箭头状结束了录制.在相关人士指导下(表示感谢),解决了这个问题.现整理出相关代码. 1、首先定义一个底层类AviCapture.csusing System;using System.Collections.Generic;using System.Text;using

2014-05-12 07:40:07 1989

转载 Altium Designer如何用AGND、DGND组织不同器件的引脚,同时处理好不同网络之间的直接连通

先说好,本帖不讨论有没有必要区分AGND和DGND,只是在需要区分的时候确保可以分得明确。首先原理图上想区分就要用两个网络标识,模拟器件的地接AGND,数字器件的地接DGND或者直接写作GND。照这法子,起码元件布局的时候会留意就近摆放。然后在PCB上,两个地各走一边,那么如果希望一点接地,总有短接的时候。这个短接点可以用一条线路直接画在两个地之间来实现,但是这样DRC会报错。

2013-12-30 10:25:08 6411

转载 sram

SRAM存储器主板的操作确认  对已完成的SRAM存储器主板进行操作。在MSDOS模式下启动,利用DEBUG指令,从D0000h开始试着进行数据的读/写操作。如果确认了主板能够正常运行,则为各份电源连接器(CN2)提供电源,去掉个人计算机的电源,损耗电流在40μA左右。重新启动MS-DOS模式,读取刚才写人的地址,因为能够读出所写人的数据,因而可知各份电源是起到了相应的作用的。

2013-11-15 13:28:20 2350

转载 在C语言中使用位带操作

转自 >第五章(87 页~92 页)。不幸的是,在 C 编译器中并没有直接支持位带操作。比如,C 编译器并不知道同一块内存能够使用不同的地址来访问,也不知道对位带别名区的访问只对 LSB有效。欲在 C中使用位带操作,最简单的做法就是#define一个位带别名区的地址。例如: #define DEVICE_REG0     ((volatile unsigned long *) (0x400

2013-09-28 06:40:44 2006

原创 关于串口,重启计算机后总是连接不上,用串口调试工具打开一次以后才能连接上

关于串口,重启计算机后总是连接不上,用串口调试工具打开一次以后才能连接上的这个问题,以前遇到过后来不知道改了哪里就又没事了。这几天做串口程序,又出现上述问题,郁闷不得了。在网上找到一个跟帖子描述的内容跟我这个毛病差不多,也是不知道怎么以修改就好了。http://bbs.csdn.net/topics/300087092。我用两台机器互联发现,重启计算机后直接连接发送内容时,另一台计算机接收到的

2013-09-12 16:33:45 14903 1

转载 串口的超时设置(加心得)

在WIN32  API编程中,除了DCB结构之外,还需要了解COMMTIMEOUTS结构.这个结构是为了读写串口的超时而设置的. COMMTIMEOUTS结构如下:         typedef   struct   _COMMTIMEOUTS   {       DWORD   ReadIntervalTimeout;                 //任意相邻连个字符之

2013-08-19 16:24:31 21815 1

转载 晶体管的名称属性——IGBT和MCT

总的来说, 晶体管可以划分为两类:双极型晶体管(BT)和场效应晶体管(FET)。它们的基本特点分别是:双极型晶体管是两种载流子都参与工作的器件,通过的电流主要是少数载流子的扩散电流,是电流控制的器件,BJT和可控硅等晶闸管都是典型的双极型晶体管;场效应晶体管是一种载流子——多数载流子工作的器件,通过的电流主要是多数载流子的漂移电流,是电压控制的器件,JFET、MESFET、HEMT、MOSFET都

2013-08-07 20:33:25 1527

转载 标准C或C++没有的数据类型

标准C或C++没有的数据类型  数据类型 说明  BOOL 布尔变量,实际上是UINT  COLORREF 用作颜色索引的32位整数  DWORD 32位的无符号整数  HANDLE 32位的无符号整数,用作句柄  HINSTANCE 32位的无符号整数,用作实例句柄  HWND 32位的无符号整数,用作窗口句柄  HDC 一个设备描

2013-08-06 10:30:54 704

转载 win32数据类型

win32数据类型一览Windows数据类型 本质类型 字节数 定义过程(来历) 含义 ATOM unsigned short 2 unsigned short→WORD→ATOM 在Atom表中,一键(16位整数)一值(一个String)为一个Atom。 BOOL int * int→BOOL 逻辑变量,布尔值 (取值为 TRUE 或 FALSE) BOOLEAN unsigne

2013-08-06 10:29:50 730

转载 _stdcall,_cdecl区别

_stdcall,_cdecl区别在看代码的时候遇到很多_stdcall修饰的函数,不明所以,查了些资料,记录如下:(1) _stdcall调用  _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈。  WIN32 Api都采用_stdcall调用方式,这样的宏定义说明了问题:  #define WINAPI _s

2013-07-23 17:39:48 589

转载 编译时去掉msvcr100

Release版本打开 Visual Studio, 打开 project Properties.打开 Configuration Properties | C/C++ | Code Generation找到 Runtime Library setting.  将 Multi-threaded DLL (/MD) 改为 Multi-threaded (/MT)Rebuild.

2013-07-23 17:28:32 632

原创 串口

RS-232C接口定义(DB9) 引脚  定义  符号1  载波检测  DCD(Data Carrier Detect)2  接收数据  RXD(Received Data)3  发送数据  TXD(Transmit Data)4  数据终端准备好  DTR(Data Terminal Ready)5  信号地  SG(Signal Ground)6  数据准备好

2013-07-23 16:27:46 519

原创 关于mutex的一些理解

自己写了一个类,用于互斥class CMutex {public: CMutex() { m_lock=CreateMutex(NULL,FALSE,NULL); } ~CMutex(){} void Lock() { WaitForSingleObject(m_lock, INFINITE); } void UnLock() { ReleaseMu

2013-03-27 11:39:22 1590

转载 如何在C/C++中动态分配二维数组

在C/C++中动态分配二维数组可以先申请一维的指针数组,然后该数组中的每个指针再申请数组,这样就相当于二维数组了,但是这种方法会导致每行可能不相邻,从而访问效率比较低。如何申请连续的二维数组了?本文将分别三个方面讲解:一.动态申请列大小固定的二维数组二.C语言中动态申请连续的二维数组三.C++语言中动态申请连续的二维数组一.动态申请列大小固定的二

2013-03-16 17:41:49 533

转载 查看文件大小

#include #include #include #include using namespace std;void main(){ char *filepath = "C:\\1.txt"; //方法一 HANDLE handle = CreateFile(filepath, FILE_READ_EA, FILE_SHARE_READ, 0, O

2013-03-12 14:35:32 555

原创 获取DDB图像的内容

网上大部分资料都是将DDB转换为DIB后,得到图像内容的,可直接得到DDB内容的资料并不多,下面我以截屏为例说下怎么得到DDB的内存,一些API是我从网上找到的,根据我的理解使用的,可能用的不很准确,请大家指出.我没用mfc,以下全是API调用。void TestGetDDB(){ // 设置截屏大小 LPRECT lpRect=new RECT; lpRect->top=0;

2013-03-11 07:05:08 599

转载 VS2008、VS2010中如何屏蔽讨厌的MSVCR*.dll的引用

方法就是修改一下编译选项,将/MD选项改为/MT选项,最终的可执行文件就不会包含对那些VC运行时DLL的引用了,可以很方便的发布和部署。真是个非常棒的消息,让一个纠结了我两年多的问题得到了彻底解决。首先让我们来看下这个云遮雾罩的编译开关究竟是干什么的?MSDN中的描述如下:/MD 使应用程序使用运行时库的多线程并特定于 DLL 的版本。定义 _MT 和 _DLL,并使编译器将库名

2013-03-04 14:34:24 834

转载 Unicode字符集与MBCS字符集转换

今天进行文件操作时,将CString的GetBuffer()后直接倒到char数组后写入文件发现 每个字符与字符之间都有一个空格存在,而且有内容丢失。原来CString类对象GetBuffer(),后以后还是unicode编码,所以必须将宽字符转换成char类型那就必须用到一个函数在Visual C++.NET2005中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符

2013-02-26 10:59:12 496

转载 重叠I/O模型的概念

一.重叠I/O模型的概念当调用ReadFile()和WriteFile()时,如果最后一个参数lpOverlapped设置为NULL,那么线程就阻塞在这里,直到读写完指定的数据后,它们才返回。这样在读写大文件的时候,很多时间都浪费在等待ReadFile()和WriteFile()的返回上面。如果ReadFile()和WriteFile()是往管道里读写数据,那么有可能阻塞得更久,导致程序性能下

2013-02-24 12:01:51 2591

转载 winsock重叠IO模型

[cpp] view plaincopy//服务端  /* 。在程序清单7-8 中,我们向大家展示了如何构建一个简单 的服务器应用,令其采用前述的方法,通过完成例程,来实现对一个套接字请求的管理。该程序的编 码主要按下述步骤进行:  ① 新建一个套接字,开始在指定端口上,监听一个进入的连接。  ② 接受一个进入的连接请求。

2013-02-24 11:03:32 790

转载 TCP和UDP 协议发送数据包的大小

TCP和UDP 协议发送数据包的大小在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好?       当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,这里仅对像ICQ一类的发送聊天消息的情况作分析,对于其他情况,或许也能得到一点帮助: 首先,我们知道,TCP/IP通常被认为是一个四层协议系统,包括链路层,网络层,传输层,

2013-02-22 17:58:08 775

原创 有了vb.net,C#就是个鸡肋

这几天做个小东西,需要.net支持。于是第一次开始了我的.net 之旅,首先得选择用vb.net还是C#。一直听说C#是.net的首选,于是俺先用了C#,可是用了就发现,C#根本就少了很多东西,不能很方便的支持COM,就是一个很致命的东西。像我这样做设备界面开发的人来说,没有COM 寸步难行,可是C#竟然不支持。没办法,只好用vb.net试试吧,刚用vb.net了没1分钟,我就喜欢上了vb.net

2013-02-08 12:19:36 4423 13

转载 得到当前时间

void get_time(void){ time_t now; time(&now); // 定义两个变量,存储转换结果 struct tm tmTmp; char stTmp[TIME_MAX]; // 转换为tm结构 localtime_s(&tmTmp,&now); // 转换为字符串并输出 asctime_s(stTmp,&tmTmp);

2013-01-31 14:32:57 442

转载 ADOPENKEYSET ADOPENDYNAMIC

CursorTypeRecordset对象Open方法的CursorType参数表示将以什么样的游标类型启动数据,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下:--------------------------------------------------------------常数

2013-01-31 13:39:12 1111

转载 ATL、MFC、WTL CString 的今生前世

ATL、MFC、WTL CString的今生前世上文分析了ATL、MFC CString的设计和实现,我们不禁会疑问,为什么ATL和MFC的CString头文件要搅在一起?上文的分析有些杂乱,我们通过一张图来更加清晰的观察,如下:  上图中,用圈圈住的头文件表示ATL头文件,没被圈的代表MFC头文件。另外,在头文件旁边字符,表示各个头文件中实现的类。  现在让我们仔细观看,整个

2013-01-30 17:15:14 708

转载 在win32控制台应用程序中实现定时器

1.SetTimer:在控制台应用程序中同样可以用SetTimer实现定时器的效果。示例代码:#include#includeusing namespace std;void CALLBACK TimeProc(     HWND hwnd,           UINT message,         UINT idTimer,         DW

2013-01-25 08:03:53 3194

转载 sprintf用法大全

sprintf用法大全   printf 可能是许多程序员在开始学习C 语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf 了解多吗?在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。 由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者

2012-11-30 13:31:23 848

转载 vc6++BYTE,WORD,DWORD和一些宏定义

一、定义在VC6.0的Microsoft Visual Studio/VC98/Include/windef.h 里,定义了BYTE,WORD,DWORDtypedef unsigned long       DWORD;typedef unsigned char       BYTE;typedef unsigned short      WORD;在Vi

2012-11-26 17:07:05 2780

转载 VNC协议分析

VNC协议分析 简介 VNC(Virtual Network Computing)是基于RFB(Remote Frame Buffer)协议进行通信的,是一个基于平台无关的简单显示协议的超级瘦客户系统,由Cambridge的AT&T实验室设计开发的。vnc的缺省端口是main:5900(C/S)和http:5800(B/S)端口。RFB (远程帧缓存) 是一个远程图形用户的

2012-10-09 18:03:44 1412

转载 VNC源码阅读笔记

VNC源码阅读笔记VNC源码阅读笔记  我阅读的是VNC官方下载的4.1.3版本的源码。下面是Windows版本的VNC客户端源码阅读笔记。while (!hosts.empty()) {char* hostinfo = hosts.front();Thread* connThread = new CConnThread(hostinfo);//创建一个连接线程strF

2012-10-09 16:50:30 1155

转载 VNC源码阅读--VNC图像更新机制

VNC源码阅读--VNC图像更新机制  VNC的图像更新机制核心为,桌面区域更新记录策略和更新区域通知策略。桌面更新区域记录主要是通过hooks记录桌面上变化的矩形区域,只记录更新的矩形区不记录具体更新的数据。更新区域记录步骤大致如下:1.wm_hooks截获桌面变化的相关消息,并转化为自定义的消息发送给WMHooksThread线程处理。 2. WMHooksThread 中用Sim

2012-10-09 16:47:00 2979 2

转载 WINVNC源码分析(四)

WINVNC源码分析(四)-vnchooksVNCHOOKS是一个设置全局钩子的动态链接库。先看入口函数view plainBOOL WINAPI DllMain (HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)  {      // Find out why we're being called

2012-10-09 16:46:13 2399

转载 WINVNC源码分析(三)rdr

WINVNC源码分析(三)rdrrdr是winvnc用来io操作的一个库工程。IO操作无非两种,写入和读取数据,所以这里每个类都相应地分成了IN和OUT两种操作,先分析IN。  view plainclass InStream {  public:    virtual ~InStream() {}    // check() ensures there is buff

2012-10-09 16:45:16 1461

转载 WINVNC(二)omni_thread

WINVNC(二)omni_threadomni_thread是一个C++的跨平台的线程包装库。接口文件omnithread.h可以看出一般的跨平台编码的方式:首先通过宏来判断目前所在的操作系统平台(如果你编译的时候出现了“No implementation header file”的提示,请在此文件查找对应的宏,我用的是WIN32系统,所以预定义了__WIN32__),然

2012-10-09 16:44:38 1838

VS项目临时文件清理工具代码

VS项目临时文件清理工具代码,基本代码是从论坛上抄下来的,做了一些修改。 把生成的执行文件放到,工程项目总目录下,运行即可。

2016-06-03

vb写的usb扫码枪记录器

vb写的usb扫码枪记录器,能够记录扫码枪模拟键盘的输入,不需要获得焦点的输入框

2014-06-24

winpcap(包含头文件,库文件和dll)

包含winPcap中的所有头文件,lib库,和dll 本人加载到工程编译通过 WinPcap是一个开源的、运行于Win32平台下的体系结构,它的主要功能是进行数据包捕获和网络分析。

2013-02-28

com0com虚拟串口

比serialnull好用些 功能:能在你的电脑上面虚拟“串口对” 作用:这个就不说了,运行该软件生成虚拟串口之后。找个串口调试软件,分别打开两个“虚拟的串口”,一个发数据,另一个接收到数据…… 暂时我就发现这么多。

2010-10-10

空空如也

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

TA关注的人

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