- 博客(39)
- 资源 (4)
- 收藏
- 关注
原创 如何将图片插入PCB板上
首先安装好PCB Logo Creator,然后选择DXP->Run Process…->点击Browse,找到安装的软件->点击RunConverterScript->OK->之后点击Load导入图片设置属性即可。
2015-11-27 18:49:58
5060
原创 如何将AD原有库导入自己的工程使用
右键点击自己的工程名,选择 Add Existing to project… 浏览到原有库所在的目录下,如图所示:(如果安装AD时是默认路径的话就和我下面的路径一样)我们需要的库就在该目录下,但一般打开这个目录下没有显示,需要我们将文件类型选为Library file才可见,如下图所示:点击打开,这时我们就可以在我们的工程下看到多了一个库文件:此时的库
2015-11-27 18:41:44
31362
原创 如何将两层板设置成4层板
在使用Altium Designer 画PCB时,多数时候画双面板的比较多,但有时抗信号干扰要求更高的情况下,可能会设计四层板或者更多层板,下面以Altium Designer14软件为例,介绍如何画四层板。1、首先要有一个PCB文件,一般新建的PCB文件只有两个层,Top Layer 和 Bottom Layer。2、打开层叠管理。Design-Layer Stack Ma
2015-11-27 18:38:38
18132
2
原创 如何实现PCB走线开窗上锡
特别说明: 电路中需要驱动8路继电器,当多路继电器闭合导通时电流大增,为保证实际效果,在加宽电流线的同时,希望去掉电流线上的阻焊层——绿油层,板子做出来以后,就可以往上面加锡,加厚线路,可以通过更大的电流。做出来的实际效果如下:实现方法如下:在toplayer(或bottomlayer取决于预置线所在的层)层中把这根线画好,然后在topso
2015-11-27 18:22:11
18075
原创 呼吸灯的实现
#include int BreathFlag;int BreathAdd;#define GPIO_Pin_6 0x0040 /* LED1 */#define GPIO_Pin_7 0x0080 /* LED2 */#define PLL_M 8#define PLL_N 336#define
2015-09-06 20:58:32
5447
原创 用定时器实现流水灯
#include #define GPIO_Pin_6 0x0040 /* LED2 */#define GPIO_Pin_7 0x0080 /* LED1 */#define PLL_M8#define PLL_N 336#define PLL_P 2#define PLL_Q 7void RCC_con
2015-09-06 20:48:01
15596
原创 用中断实现流水灯
#include #define GPIO_Pin_6 0x0040 /* LED2 */#define GPIO_Pin_7 0x0080 /* LED1 */#define PLL_M 8#define PLL_N 336#define PLL_P 2#define PLL_Q 7uint32_t fl
2015-09-06 15:31:42
12319
转载 BUS HOUND调试USB驱动遇到的错误代码解析
在使用BUS HOUND调试USB驱动时,在Capture页面会遇到抓取的错误信息,错误代码会在data字段显示,根据不同的显示,含义如下:顺便记录用于以后代码分析。ValueCodeMeaningUSBD_STATUS_CRC0xC0000001 CRC error (d
2015-08-31 10:27:53
6092
原创 推挽输出与开漏输出的区别
推挽输出:可以输出高,低电平,连接数字器件,驱动能力低。 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。这种结构一般不需要接上拉和下拉电阻。开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要外电路接上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强。上拉电阻的阻值决定饿了逻辑电平转换沿的速度。阻值越大速度越低功耗越小。
2015-07-30 21:45:45
855
转载 USB枚举过程分析
1 枚举过程中,第一个来回的详细分析。检测到设备,主机发总线复位。这个复位与USB上电复位和系统复位是不同的。这个是SIE根据总线状态通知用户的一种复位。设备产生复位中断,如何处理由设备固件程序决定。主机发起第一个控制传输:(1)主机SETUP包(发往地址0端点0)、主机数据包(请求设备描述符)、设备握手包ACK
2015-06-16 09:46:24
1071
原创 枚举的详细过程分析
下面介绍枚举的详细过程:①USB主机检测到USB设备插入后,就会先对设备复位。USB设备在总线复位后其地址为0,这样主机就可以通过地址0和那些刚刚插入的设备通信。USB主机往地址为0的设备的端点0发送获取设备描述符的标准请求(这是一个控制传输的建立过程)。设备收到该请求后,会按照主机请求的参数,在数据过程将设备描述符返回给主机。主机在成功获取到一个数据包的设备描述符并且确认没有错误后,
2015-05-22 19:28:44
1028
转载 上拉电阻与下拉电阻的作用和区别
2者共同的作用是:避免电压的“悬浮”,造成电路的不稳定; 一、上拉电阻如图所示:1、概念:将一个不确定的信号,通过一个电阻与电源VCC相连,固定在高电平;2、上拉是对器件注入电流;灌电流;3、当一个接有上拉电阻的IO端口设置为输入状态时,它的常态为高电平。 二、下拉电阻如图所示:1、 概念:将一个不确定的信号,通过一个电阻与地GND相连,固
2015-04-12 13:38:41
698
原创 Base64加密算法的C++代码实现
base64加密规则如下:Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。具体实现方法:第一个字节,根据源字节的第一个字节处理。规则:源第一字节右移两位,去掉低2位,高2位补零。既:00 + 高6位第二
2015-04-07 09:06:56
5077
1
转载 让用VS2012/VS2013编写的程序在XP中顺利运行
微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序只能在Vista/Win7/Win8上运行。但幸好还保留了生成XP程序的设置项。XP和Win2003的用户还是大量存在的,我们程序软件的发布不能不考虑他们。 1. 项目菜单->项目属性->配置属性->常规->平台工具集,选择“VS2013WindowsXP(v120_xp)”; 2. 项目菜单->项目属性-
2015-03-20 17:03:16
711
转载 解决虚拟机安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态
首次在虚拟机体验64 位系统。在新建好虚拟机,运行时候就出现了VMware Workstation 的提醒:此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态。已将该虚拟机配置为使用 64 位客户机操作系统。但是,无法执行 64 位操作。此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态。如果已在 BIOS/固件设置中
2015-03-12 19:25:28
3613
转载 SetTimer函数
什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数 了。使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。 1.1 用WM_TIMER来设置定时器 先请看SetTimer这个AP
2015-02-09 16:24:45
7686
1
原创 正常显示,鼠标按下,鼠标弹起,按钮显示不同的图
方法如下:CBitmapButton::LoadBitmaps(IDB_UP, IDB_DOWN,IDB_FOCUSED); 备注:按钮的Style必须指定为BS_OWNERDRAW。
2015-02-06 20:13:21
1006
转载 MFC如何使控件大小随着对话框大小自动调整
对话框的大小变化后,假若对话框上的控件大小不变化,看起来会比较难看。下面就介绍怎么让对话框上的控件随着对话框的大小的变化自动调整。首先明确的是Windows有一个WM_SIZE消息响应函数,这个函数在对话框大小发生变化的时候调用,所以我们可以记录下原来对话框的大小,还有当前对话框的大小(这个不用自己算,系统已给出),然后根据控件做出相应比例的调整。比如原来对话框大小为a
2015-02-06 16:01:47
451
转载 圆角按钮
2013-05-24 12:45 1197人阅读 评论(0) 收藏 举报[cpp] view plaincopyprint? 第一步:往项目中添加MyButton.h 和MyButton.cpp 两个文件。第二步:然后将自己需要的BitMap文件导入。第三步:在项目工程的CARMDlg::OnInit
2015-02-06 15:46:27
501
原创 圆形对话框的设置
方法如下:在OninitDialog中添加如下代码:CRgn rgn;CRectrect;GetClientRect(rect);rgn.CreateEllipticRgn(rect.left,rect.top, rect.right, rect.bottom);SetWindowRgn(rgn,true);
2015-02-06 15:43:17
615
转载 创建圆角按钮
方案:重写虚函数DrawItem先创一个圆角矩型CreateRoundRectRgn.然后把按钮区域设置在刚建的圆角矩型区域内SetWindowRgn.最后把按钮画出来RoundRect.其中,函数 SetWindowRgn(),可以将绘画和鼠标消息限定在窗口的一个指定的区域,可以是CreateRectRgn(),CreatePolyRgn(),CreatePolygonR
2015-02-06 15:42:21
677
原创 禁用强制驱动签名的方法指南
12 安装驱动出现“第三方INF不包含数字签名信息”的解决 Windows 8.1禁用强制驱动签名的方法指南问题Windows XP 、Windows7 操作系统用户,在安装某些驱动程序时,可能会遇到此驱动程序非数字认证驱动的提示,此时只要点选一下仍然继续即可完成驱动程序的安装。但是在Window
2015-02-06 11:21:49
4361
原创 虚拟机中文版设置说明
步骤如下:在已经装好的虚拟机上执行以下命令,这个可能需要花费一些时间。在执行第二步时会出现以下的界面,全部选中。上述软件安装好后,打开以下文件:vi .bashrc会出现以下界面:将9,11解除屏蔽,并在最下面输入以下引号里的命令: 完成后保存退出。接下来修改putty的属性:打开自己的putty,按如下步骤操作:c
2015-02-06 11:14:04
5634
原创 边信息详细讲解
边信息详细讲解:边信息包含许多必要的参数,有逆量化的信息(global gain、scale factor compress、sub block gain、scale factor、preflag)以及霍夫曼解码信息(part 2_3 length、big values、table select、region 0 count、region 1 count 、count 1 table se
2015-02-06 11:02:20
2187
原创 鼠标移动到控件上显示提示信息
实现方法:1.头文件中创建对象CToolTipCtrl m_Mytip ;2.在OnInitDialog()中添加如下代码:m_Mytip.Create(this);m_Mytip.AddTool(GetDlgItem(ID),_T ("提示信息")); //ID为你要添加提示信息的控件的ID。m_Mytip.SetDelayTime(200);//设置延迟m_Myt
2015-02-06 10:44:06
3819
原创 控件处鼠标变型
设置鼠标在对话框某个区域的响应,可以添加WM_MouseMove消息响应,并在OnMouseMove()函数中实现操作。 但是,控件其实也是一个对话框。所以,如果要设置鼠标在控件所在范围内的事件,用WM_MouseMove是行不通的。 解决方法:重载OnSetCursor()方法。 步骤:1.打开对应对话框的类向导ClassWizard。
2015-02-06 10:43:21
491
原创 对话框的移动
使生成的对话框能够拖拉移动的方法:1在Dlg.h文件中添加鼠标左键点击消息响应函数 afx_msg voidOnLButtonDown(UINT nFlags, CPoint point);2在Dlg.cpp文件中添加消息映射ON_WM_LBUTTONDOWN()3在Dlg.cpp文件中添加消息函数内容:voidCDlg::OnLButtonDown(UI
2015-02-06 10:42:06
1330
原创 给按钮控件贴图的方法
1先把BMP图片添加到资源视图中;2在LoginDlg.cpp的OnInitDialog()中添加如下代码:Cbutton m_button.SetBitmap(LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(ID))); 注意:按钮创建时必须包含BS_BITMAP属性。此方法只适用于为按钮贴图。
2015-02-06 10:40:39
543
原创 如何美化动态创建的编辑框的边框
动态创建的编辑框的边框颜色一般是黑色的,看起来很不好看,那么如何让它好看些呢,调用下面两个函数就能实现:m_edit_key.ModifyStyleEx(0,WS_EX_CLIENTEDGE, SWP_FRAMECHANGED);m_edit_key.SetFont(this->GetFont());
2015-02-06 10:37:50
646
原创 给对话框整个面板设置背景颜色的方法
在OnPaint()函数的else中,写上:CRect rc;GetClientRect(&rc); //获取客户区CPaintDCdc(this); dc.FillSolidRect(&rc, RGB(0, 160, 0));
2015-02-06 10:37:01
521
原创 给列表框添加背景颜色和字体颜色的方法
m_list_task.SetBkColor(RGB(444,233, 255));m_list_task.SetTextColor(RGB(0,0, 255));
2015-02-06 10:36:22
868
原创 按钮颜色的设置
前面介绍了如何设置动态创建的控件的颜色,但是却不能为按钮设置,接下来将介绍如何单独设置按钮的颜色。具体方法如下:CMFCButton m_button.m_bTransparent = FALSE; // 指示按钮是否是透明的CMFCButton m_button.m_bDontUseWinXPTheme = TRUE;CMFCButton m_butto
2015-02-06 10:31:25
2797
原创 控件颜色的设置
一MFC改变控件颜色的方法:MFC应用程序中,要改变控件的背景色可通过重载OnCtlColor()函数来实现。方法是在该函数中设置所需颜色后再返回一个画刷句柄便可重绘控件背景色。OnCtlColor()函数对于控件背景色的处理是通过捕捉相应的控件消息来实现的。 常用的此类消息有: CTLCOLOR_DLG 对话框 CTLCOLOR_EDIT 编辑
2015-02-06 10:30:01
1149
原创 动态设置对话框大小
对话框大小的设置方法一: CRect temprect(x, y, length, width); // (x,y)对话框左上角的坐标 CWnd::SetWindowPos(NULL,0,0,temprect.Width(),temprect.Height(),SWP_NOZORDER|SWP_NOMOVE);方法二:
2015-02-06 10:25:24
475
原创 单个控件字体设置的方法
前面介绍了如何设置整个对话框的字体,下面将介绍如何设置单个控件的字体。各个控件字体设置的方法一:CFont *pFont = newCFont;pFont->CreatePointFont(90,_T("Arial"));控件对象.SetFont(pFont); 方法二:CFont *pFont = newCFont;pFont->CreateFont(15,0
2015-02-06 10:21:26
551
原创 获取中文星期几的方法
SYSTEMTIME SystemTime; 需要头文件windows.hGetSystemTime(&SystemTime);这样获取的星期显示的阿拉伯数字,要想出现中文的,需要加一个switch判断。具体办法如下:CString cstrm_strWeek;switch (SystemTime.wDayOfWeek){case 0:cstrm_strWee
2015-02-06 10:14:30
1461
原创 获取当前系统时间
获取当前系统时间的方法一:CTime time = CTime::GetCurrentTime(); //构造CTime对象 int m_nYear = time.GetYear(); //年 int m_nMonth = time.GetMonth();
2015-02-06 10:12:34
410
原创 为对话框添加背景图片
方法如下:1先把BMP图片添加到资源视图中;2在LoginDlg.h下声明一个CBitmap m_bitmap;3在LoginDlg.cpp的OnInitDialog()中:m_bitmap.LoadBitmap(IDB_BITMAP1);4定位到OnPaint()函数的else中,写上:BITMAP bm; CRect rect; CDC d
2015-02-06 10:01:55
567
原创 在MFC中设置整个对话框字体
方法如下:CFont *pFont = newCFont;pFont->CreatePointFont(90,_T("Arial"));SetFont(pFont);CWnd *pWnd =GetWindow(GW_CHILD);while (pWnd != NULL){pWnd->SetFont(pFont);pWnd= pWnd->GetWindow(G
2015-02-06 09:55:00
1345
基于ISE14.7的FPGA设计流程
2019-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人