自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (6)
  • 收藏
  • 关注

转载 网络分析仪基础(续)

2.4 网络分析仪中的接收机    由功分器,定向耦合器及输出端得到的信号输入到相应接收机进行处理,为对这些信号进行分析,网络分析仪内置多台接收机。    网络分析仪是一个包含激励源和接收设备的闭环测试系统。  图21  网络分析仪接收机     网络分析仪中检测信号主要有两种基本方法。    方法1:二极管检波,二极管检波提

2014-03-26 18:00:15 4352

转载 网络分析仪基础

1 网络分析基本概念1.1线性器件/系统和非线性器件/系统的区别    在对输入信号处理的过程中,许多器件/系统具有线性和非线性特性,不同特性的传输特性当然对输出信号有不同的影响。    具有线性传输特性的器件/系统对于输入信号只产生幅度和相位的变化,而不会产生新的频率成分。    非线性器件/系统能对输入信号的频率进行搬移,或产生新的频率成份,如谐波和交调。

2014-03-26 16:20:53 3314

转载 调频波的幅度与特点

(一)什么是调频?什么是调频波?         PCA9553TK     所谓调频,就是用低频调制信号去控制高频振荡信号的频率,使载波的频率随着调制信号的变化规律而变化,而载波的幅度保持不变,如图5-39所示。                         经过调制后的高频振荡信号称为调频波,调频深浅程度可用调频指数mf来表示,即                     

2014-03-26 15:35:52 11714

转载 超外差式收音机的工作原理

简单收音机为了提高灵敏度指标增加了高放级,但高放级级数的增加是有限度的,如果为了提高灵敏度而加多高放级,则不但统调因难,更易发生寄生振荡。另一个原因在于:晶体管电路对高中低频带的表现是不同的,这就造成了整个收音频带内的指标不和谐。    如果能把收音机固定在一个频带上工作,它的收音质量当然很好,不过事实上许多广播电台并不都挤在一个不大的频带上广播,而是分布在—个很宽的频带中进行广播。因而,只能

2014-03-26 14:19:04 11615

转载 电压源驱动和电流源驱动 输入阻抗和输出阻抗小结

电压源输出电压固定,输出电流随负载电阻大小变化。电流源输出电流恒定,输出电压随负载变化。其作用是给负载供电。区别看负载阻抗是否可变。正常工作情况下需要的是稳定的电压还是稳定的电流。通常 因为LED 的发光强度随电流变化,所以会选用恒流源驱动。而MCU等 供电电路因索取电流需变化,所以会选用电压源供电。电压源驱动;以稳压或可调电压的方式供电。如一般家用电器电流源驱动;以稳流或可调电流的方式供电。如L

2014-03-20 09:48:47 3095

转载 电流源和电压源的内阻问题

我们总是在讲电流源和电压源,其中都涉及到一个问题就是电源内阻的问题,上学的时候老师也是讲你只要记住电压源与外界负载连接你认为内阻是和外界负载串联;电流源与外界负载连接你认为内阻是和外界负载并联,得出结论就是电压源要求内阻越小越好,电流源要求内阻越大越好!并没有讲这是为什么?我就一直困惑,内阻这个东西到底对电源的影响是什么?为什么要内阻和外界负载相匹配电源输出才能达到最大功率?请各位大侠,多多讲解一

2014-03-20 09:25:03 9795

原创 数组指针与函数指针

#include "stdafx.h"void te_array_ptr(void){//correct//char a[10] = "123456";//char (*p)[10];//p = &a;//printf("%c\r\n",(*p)[1]);//correctchar a[10] = "123456";char (*p)[10] =

2014-03-19 17:07:04 588

转载 指针函数与函数指针的区别

一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针     类型标识符    *函数名(参数表)      int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函

2014-03-19 16:46:43 642

转载 如何让静态局部和全局变量或数组存在指定地址的Flash

近来很多人都在关心数据存放的问题,如果在熟悉编译环境的情况下,要想在Flash(ROM)里面存放变量或数组值是很容易的。但是产品开发者重在应用程序的开发和产品的研发,编译器是一个工具,要是在这个上面花很多时间的话,市场有可能已经被别人抢占了。所以我不建议他们去深入编译环境,只要能用就行。所以我在这里给大家推荐一种方法:可以让变量或数组存放在Flash区,而且存放的起始地址和存放的空间大小是可控的,

2014-03-19 11:34:49 5832 1

转载 IAR STM32 函数和变量的绝对地址定位

昨天我突然冒出个想法,能否利用函数和变量的绝对定位,实现程序的模块化更新。  也就是说,如果我要改变某个函数,只需要更新flash里面一个局部,也许只需要更新几百个字节,而无须重新下载整个上百K的程序。  经过查找资料和反复实验,终于实现了,现总结如下:  1) 把函数定位在FLASH高端的指定位置,以后更新,只更新那小块地方就可以了。  方法一:    I

2014-03-19 10:35:16 18435 3

转载 htonl() htons()及inet_ntoa() inet_addr()的用法

htonl() htons()及inet_ntoa() inet_addr()现在我们很幸运,因为我们有很多的函数来方便地操作 IP 地址。没有 必要用手工计算它们,也没有必要用"首先,假设你已经有了一个sockaddr_in结构体ina,你有一个IP地址"132.241.5.10" 要储存在其中,你就要用到函数inet_addr(),将IP地址从 点数格式转换成无符号长整型。使用

2014-03-18 16:48:38 800

转载 atoi,atol,strtod,strtol,strtoul实现类型转换

atoi,atol,strtod,strtol,strtoul实现类型转换表头文件: #include /*******************************************************/一、atof(将字符串转换成浮点型数)定义函数      double atof(const char *nptr);函数说明      atof()

2014-03-18 16:46:54 704

转载 CString 成员函数用法大全

CString的构造函数CString( );例:CString csStr;CString( const CString& stringSrc );例:CString csStr("ABCDEF中文123456");    CString csStr2(csStr);CString( TCHAR ch, int nRepeat = 1 );例:CString

2014-03-18 16:30:18 487

转载 typedef __packed struct

之前一直很少用结构体,但最近随着变量的直线上升,不得不采用结构体。对于struct,理解并不是很深入,最近一段时间的应用,发现struct的强大。作为一种数据集合,struct常用在数据结构中。而struct的字节对齐方式对于嵌入式底层的程序员来讲是必须掌握的。现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型

2014-03-18 15:36:39 1403

转载 串口编程之一: WIN32 API 中串口DCB 结构的介绍

在应用WIN32  API 对串口进行编程时, 必定会使用到DCB 结构. 下面的DCB 结构的一些介绍. 首先是DCB 结构. typedef struct _DCB {          DWORD DCBlength;                   DWORD BaudRate;                    DWORD fBinary: 1;   

2014-03-18 14:56:44 2309

转载 《串口编程之一: WIN32 API 中串口DCB 结构的介绍》

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

2014-03-18 14:55:46 1516

转载 AfxGetMainWnd()函数用法

CWnd* AfxGetMainWnd( );  使用AfxGetMainWnd函数获取MFC程序中的主框架类指针是一个常用作法。就是获得应用程序主窗口的指针,AfxGetMainWnd()-> m_hWnd是主窗口的句柄。

2014-03-18 11:44:29 3075

转载 VC 线程通信的3种方法

1.使用全局变量   实现线程间通信的方法有很多,常用的主要是通过全局变量、自定义消息和事件对象等来实现的。其中又以对全局变量的使用最为简洁。该方法将全局变量作为线程监视的对象,并通过在主线程对此变量值的改变而实现对子线程的控制。   由于这里的全局变量需要在使用它的线程之外对其值进行改变,这就需要通过volatile关键字对此变量进行说明。使用全局变量进行线程通信的方法非常简单,通过下面

2014-03-18 09:37:46 1828

转载 mfc 小技巧之 获取对话框句柄 对话框指针

1、CWnd *pWnd   =  AfxGetMainWnd();获取主对话框指针;获取住对话狂句柄HWND hHwnd = pWnd->m_hWnd; 父窗口法:GetParent(); 在类的成员函数中如果使用与MFC类库相同名的SDK API 则需在函数名前添加::::作用将作用域改为全局。2、

2014-03-17 17:51:54 1006

转载 VC++多线程编程

留个纪念,不错的总结。十个例子清晰列举啦多线程编程的奥妙。 VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好.一、问题的提出编写一个耗时的单线程程序:  新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的

2014-03-17 17:48:04 629

转载 [VC++6.0]如何设置和获取IP地址控件的内容

获取IP地址:CString strIpAddress;BYTE f1,f2,f3,f4;m_IpAddress.GetAddress(f1,f2,f3,f4);                  //m_IpAddress 是 IP 文本框对象对应的成员变量strIpAddress.Format("%d.%d.%d.%d",f1,f2,f3,f4);设置IP地

2014-03-17 14:36:42 3221

转载 MFC中设置socket超时

int nNetTimeout=1000;//1秒,//设置发送超时setsockopt(socket,SOL_SOCKET,SO_SNDTIMEO, (char *)&nNetTimeout,sizeof(int));//设置接收超时setsockopt(socket,SOL_SOCKET,SO_RCVTIMEO, (char *)&nNetTimeout,sizeof(int)

2014-03-14 10:20:10 3562 1

转载 VC二进制byte数组转换成对应字符串

/****************************************************************************函数名称: str_to_hex函数功能: 字符串转换为十六进制输入参数: string 字符串 cbuf 十六进制 len 字符串的长度。输出参数: 无************************************

2014-03-12 10:38:12 9252 1

转载 GDI绘图

▲坐标空间坐标用以确定图形在确定空间中的位置,在windows操作系统中存在着四个不同的空间,每个空间都有相互独立的坐标系,即四个坐标空间。世界坐标空间(World-Space):支持几何变换。只有调用SetWorldTransform函数才会使用世界坐标空间。页面坐标空间(Page-Space):被默认使用的坐标空间。设备坐标空间(Device-Space):同设备上下文相关联的

2014-03-12 09:55:33 750

转载 创建定时器SetTimer(1,1000,NULL)

1表示定时器的ID,1000表示没1000ms也就是1s调用一次处理函数,最后一个参数是处理的函数,如果填NULL表示,使用系统默认的,默认处理函数是On Timer()那个函数,在这里面写你要执行的操作就可以了,如果你有多个定时器要在这里写if(id == 1)类似的东西去区分不同的定时器,更换贴图最好是在OnTimer里面更换当前显示的图片编号,然后刷新界面,更换图片的工作让OnPaint去做

2014-03-11 14:58:58 1452

转载 vs2008无法执行添加/移除操作,因为代码元素**是只读的

在vs中,大量添加窗体或者控件后,发现无法由系统IDE自动生成代码,如自动添加按钮响应函数等,rc管理器界面双击按钮添加函数,会出现 提示框 “无法执行添加/移除操作,因为代码元素**是只读的”。开始认为可能是对应的.cpp和.h被加了只读属性,后来发现是工程的ncb文件引起的。解决方案:关闭vs,删除工程对应的.ncb文件,重启vs就好了。问题原因:NCB是no compile brow

2014-03-11 14:19:00 3911

转载 CString ,BSTR ,LPCTSTR之间关系和区别

CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;typedef const char * LPCTSTR;vc++中各种字符串的表示

2014-03-10 16:56:39 619

转载 CString GetBuffer() 与releasebuffer()的使用

CString GetBuffer() 与releasebuffer()的使用  getbuffer是为了让你使用CString类中,保存字符串缓冲区的那块指针. 至于releasebuffer,在MSDN中有这样一句话. If you use the pointer returned by GetBuffer to change the string contents, you mu

2014-03-05 17:11:53 1378

转载 Unicode和多字节字符集 (MBCS) 杂谈

这个估计是很多人曾经头疼过的问题,现在的VC版本基本都支持Unicode和多字节字符集(MBCS),在进行MFC编程时VC的默认设置是unicode字符集。但是我们通常需要做一些代码移植的工作,如果将多字节字符集下的程序代码移植到unicode字符集环境中,就需要针对此做出很多类型的转换,反之亦然。 首先,了解一下unicode和多字符字符集(MBSS)的区别: 在计算机中字符通常

2014-03-05 16:10:49 834

转载 VC让对话框显示就最大化

方法一:在OnInitDialog()函数中 ShowWindow(SW_SHOWMAXIMIZED);初始化的时候方法二:当然,你可以获取屏幕大小,然后设置窗口位置/大小 //ShowWindow(SW_MAXIMIZE); // 获得屏幕分辨率 HDC hDesktopDC = CreateDC(_T("DISPLAY"), NULL,NULL, N

2014-03-05 12:12:54 1205

转载 二维数组和二级指针

入职一年了,这一年自己学到许多,但是忘记也很多,于是决定定下心来整理以前学到的,并且继续学习        二维数组和二级指针,这真是头疼的问题,困扰了我好几次,       先转一下wanpengcoder的二维数组和二级指针前两天写个程序,传参数的时候想传个二维数组进去,结果悲剧了,函数写成Fun (int **p){},原来没有这么写过,以为这么写也是对的,结

2014-03-04 17:05:44 779

转载 二维数组和指针的一些感悟

编译器: VC++6.0 win32 platform program数组和指针:(一)一维数组和指针int a[2] = {0x12345678 , 90};int *p;p = a首先 p 指向 a,因为数组的名字就是指针,而且类型是 int 所以这里简单的匹配了。那么*p == a[0] == 0x12345678*(p+1) = a[1] = 90;

2014-03-04 16:19:35 857

转载 c语言内存分配函数之间的区别

malloca/alloca:  内存分配函数,与malloc,calloc,realloc类似。但是注意一个重要的区别,_alloca是在栈(stack)上申请空间,用完马上就释放。  alloca包含在头文件malloc.h中,在某些系统中会宏定义成_alloca使用。  注意:  1)在调用 alloca的函数返回的时候, 它分配的内存会自动释放。也就是说,

2014-03-04 14:50:31 769

转载 c语言内存分配函数

三个函数的声明分别是: void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(size_t nelem, size_t elsize); 都在stdlib.h函数库内原型:extern void *realloc(void *mem_address, uns

2014-03-04 14:21:46 952

转载 Long Long、__int64使用总结

前言:  在16位环境下,int/unsigned int 占16位,long/unsigned long占32位  在32位环境下,int占32位,unsigned int占16位,long/unsigned long占32位何时需要使用:  long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647,而unsigned范围是[0,2^3

2014-03-04 13:56:10 1129

转载 详解C语言字节对齐

一、什么是对齐,以及为什么要对齐:  1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。  2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型

2014-03-04 11:13:43 742

FreeRTOS资料小集.CHM

FreeRTOS资料小集.CHM

2013-10-08

HART论坛资料总结

做项目用过的!论天资料大总结啊!包括源码~

2010-12-27

windows xp风格按钮源码

适合初学者,很好的学习资料!欢迎下载啊!

2010-12-27

MFC类库详解MFC类库详解

MFC类库详解MFC类库详解MFC类库详解

2010-08-10

串口精灵源代码 串口精灵源代码

串口精灵源代码串口精灵源代码串口精灵源代码串口精灵源代码

2010-08-04

空空如也

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

TA关注的人

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