- 博客(23)
- 资源 (7)
- 收藏
- 关注
转载 keil c51的内部RAM(idata)动态内存管理程序
程序比较简单,但感觉比较有意思,个人认为有一定应用价值,希望大家有更好的思路和方法,互相促进。程序的基本思路是; 在CPU堆栈指针SP以上的RAM区域,通过把堆栈指针SP上移若干个字节,把空出的RAM区域供用户使用,当用户在使用完后又可以把该RAM区域释放。头文件dmalloc51.h/*************************************
2015-07-23 20:27:29 2769
转载 使用GPIO模拟I2C总线进行通信
下面给出了模拟I2C总线进行读写的伪代码,用以说明如何使用GPIO实现I2C通信:#define SDA 254 //定义SDA所对应的GPIO接口编号 #define SCL 255 //定义SCL所对应的GPIO接口编号 #define OUTP 1
2015-07-22 16:40:23 3060
原创 字符转换常用函数总结
1. 字符串16进制字符 AsicConvert(string,char); 例:编辑框中TEST中输入字符B5,按十六进制0xB5,将值赋给输出变量outdata; cstring sFind; GetDlgItemText(IDC_EDIT_TEST, sFind); unsigned char s1 = '1'; uns
2015-07-16 17:37:48 538
原创 C2 Debug 错误
在用C2 debug或download过程中,弹出下面错误窗口:是因为keil 设置中,C2连接端口跳变(之前设置对了有时也会自动跳变错),如下图:将端口重新选回: USB Debug Adapter 1.9.1.0即可。
2015-07-16 15:45:15 715
转载 教你如何使KEIL中同时具有51和ARM的编译功能
大家刚开始接触ARM时,肯定是先建立开发环境。如果你用keil 时会发现,你在此基础上你如果装了51版本的编译器的话,会发现无法装ARM版本的编译器,这就会很尴尬。用了51就无法用ARM,用ARM就无法用51。我之前装了KEIL2当做51的编译器,keil4当做ARM的,实际用的时候特别不方便。好了,不废话了,切入正题吧。 不管你之前装的是51的还是ARM这都没关系。其实很简单的,
2015-07-16 14:13:00 23014 1
转载 Keil、uVision、MDK、Keil C51之间的区别比较
曾经有新手提问为什么我装的keil的软件找不到89c51,或找不到stm32。今天特意发这一贴,希望对新手有所帮助。KEIL是公司的名称,有时候也指KEIL公司的所有软件开发工具,目前2005年Keil由ARM公司收购,成为ARM的公司之一。uVision是KEIL公司开发的一个集成开发环境(IDE),和Eclipse类似。它包括工程管理,源代码编辑,编译设uVision置,下载调试和
2015-07-16 12:42:55 8928
转载 vs2010下C++调用lib或dll文件
注: DLL:表示链接库,包含dll,lib文件; dll: 表示my.dll文件 lib: 表示my.lib文件 C++ 调用.lib的方法:一: 隐式的加载时链接,有三种方法 1 设置工程的 Projects来加载DLL的lib文件 打开工程的 Projects菜单,然后在Linker/Additional Library Directories中加
2015-07-14 11:27:30 2799
转载 DLL中调用约定和名称修饰(三)
2、C++编译时函数(非类成员函数)名称修饰当函数使用__cdecl调用约定时,编译器进行以下工作: 1.以?标识函数名的开始,后跟函数名;2.函数名后面以@@YA标识开始,后跟返回值和参数表;3.当函数的返回值或者参数与C++类无关的时候,返回值和参数表以下列代号表示: B:constD:charE:unsigned charF:shortG:
2015-07-14 10:32:41 1048
转载 DLL中调用约定和名称修饰(二)
4、thiscallthiscall调用约定是C++中的非静态类成员函数的默认调用约定。thiscall只能被编译器使用,没有相应的关键字,因此不能被程序员指定。采用thiscall约定时,函数参数按照从右到左的顺序入栈,被调用的函数在返回前清理传送参数的栈,只是另外通过ECX寄存器传送一个额外的参数:this指针。 这次的例子中将定义一个类,并在类中定义一个成员函数,代码如下:
2015-07-14 10:30:32 599
转载 DLL中调用约定和名称修饰(一)
调用约定(Calling Convention)是指在程序设计语言中为了实现函数调用而建立的一种协议。这种协议规定了该语言的函数中的参数传送方式、参数是否可变和由谁来处理堆栈等问题。不同的语言定义了不同的调用约定。 在C++中,为了允许操作符重载和函数重载,C++编译器往往按照某种规则改写每一个入口点的符号名,以便允许同一个名字(具有不同的参数类型或者是不同的作用域)有多个用法,而不会打破
2015-07-14 10:29:41 590
原创 头文件中#ifndef后面的如何写及什么作用
在头文件中加入#ifndef或#ifdef等宏定义,是为了防止重复声明。 我们知道,头文件一般是用来声明的,会被其他的源文件和头文件include,当被多个文件include的时候就会造成重复声明。 为了使得只声明一次,引入前面所说的宏定义,一般以文件名大写和_来当宏的名字。 这个宏是给预处理器用的,通常预处理变量用大写,所以这些宏定义都用大写。为了方便,一般将
2015-07-14 10:02:02 8750 1
转载 在WIN32 DLL中使用MFC
最近用WIN32 DLL,为了方便要用到MFC的一些库,又不想转工程,就网上找了很多方法,发现没有详细的介绍,有的也行不通,现在成功在WIN32 DLL中使用了MFC,记录一下以防以后用到忘记 一、修改预编译头文件(stdafx.h)在stdafx.h文件中添加下面代码,包含一些MFC的头文件,这些可以在一个MFC工程中复制过来 1 #define _ATL_CSTRI
2015-07-13 18:22:05 729
转载 三种DLL(Win32DLL,MFC常规DLL和MFC拓展DLL)的简单学习总结
学习了三种动态链接库的基本知识,分别是Win32DLL,MFC常规DLL和MFC拓展DLL。 Win32DLL使用的是Win32的API实现的,只能导出函数,能被各种应用程序调用,适用范围最广。 MFC常规DLL是适用MFC创建的,就像MFC程序跟Win32程序的关系一样,MFC常规DLL和Win32DLL的关系也是如此。它使用MFC的机制,只能导出标准C函数。如此,它
2015-07-13 18:16:12 2660
转载 VS 演进
从vc6到vs2013,vs的解决方案和工程文件有了很大的变迁vc6时代,dsw和dsp文件,高版本打开时需要转换vs2003和vs2005没用过,被我直接跳过了,不做评论vs2008是sln和vcproj文件,相对于vc6有很大的不同vs2010是sln和vcxproj文件,sln文件格式同2008相比,就多了一个字段;但是工程文件改变很大,换了扩展名。从2008
2015-07-13 16:23:09 454
转载 Win7 无法在打开方式里选择自定义程序的解决办法
1. 打开注册表编辑器,按下win+r打开电脑的运行窗口,然后输入regedit并单击回车。(请注意备份你当前注册表以免出现意外情况!)2. 找到“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf (此处对应你当前的文件后缀,此处以 .pdf 为例)”如图删除“OpenWithL
2015-07-13 15:04:20 1414
转载 DLL与LIB库文件的生成和使用---C++
两种库: 包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。 包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接方式: 动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运行时
2015-07-13 13:55:24 1403
原创 verilog入门经验(五)-- 并转串
并转串电路主要由时钟(clk)、复位信号(rst)、并行输入信号(pdin)、串行输出信号(sdout)和使能信号(en)组成。 其它信号都是名字意义,现在主要讲下使能信号。使能信号表示开始执行并转串操作,由于并转串是移位操作,当一次并转串完成后,需要重新载入待转换的并行数据时,使能信号要再起来一次。 下面是souce driver COB测试程序中用到的并转串实例,这
2015-07-10 16:20:47 19223 2
原创 误装驱动的卸载
在开发libusb-win32的过程中,不知安装了什么,以前开发好的silicon F340 USB无法被识别为USB设备,而是被识别成了libusb-win32 devices设备。解决办法就是:在设备管理器中,卸载被lib-usb win32 devices识别的F340 USB设备的驱动。具体做法如下:连接F340 USB设备,然后打开设备管理器,找到被误识别的该设备,点击右键卸载
2015-07-08 17:52:40 5485
转载 LibUSB-Win32程序介绍
LibUSB-Win32是一个用于Windows操作系统(Win98SE、WinME、Win2k和WinXP)上的通用USB设备驱动程序。该驱动程序允许使用者在不写任何一行核心驱动程序代码的情况下,可以访问Windows系统上的任意一个USB设备。该驱动程序具有以下特点:l 能够与任意一个已安装的USB设备进行通信l 可被用作自己开发的USB设备的驱
2015-07-08 15:07:53 4137
转载 winusb —— 不再为你的usb设备编写驱动
【blog.csdn.net/lanmanck】曾几何时我们找工作还发现有个驱动工程师职位,月薪也不低,没接触过的人代码压根看不懂。今天可好了,如果不太追求差异化,不用驱动也能让系统与USB设备通信了,Linux就不说了,libusb很好用,现在说下windows的。Winusb是从XP-SP2起微软提供的一个类似libusb与usb设备通信的中间件,通过它我们就不需要再费奏折的研究和
2015-07-03 17:53:22 4666
VbyOne Spec
2013-03-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人