- 博客(40)
- 资源 (14)
- 收藏
- 关注
原创 Chart控件的使用
Chart控件的使用1、一个Chart控件可以包含多个ChartAreas与Series,可以通过如下方式访问:Chart chart1;ChartAreachartArea1, chartArea2;Seriesseries1, series2;chartArea1= chart1.ChartAreas[0];chartArea2= chart1.ChartAreas[1
2015-03-14 16:40:01 3268
原创 单片机计算需要注意的问题
单片机计算需要注意的问题1、关于强制转换U16 uwValue; U32 result1;U32 result2;result1= (U32)uwValue * 800;result2= (U32)(uwValue * 800)使用C8051F392单片机在keil编译器中得到如下计算结果:uwValue5001
2015-03-14 16:28:04 1150
原创 AD转换
AD转换1、ADC转换的分辨率ADC的分辨率指的模/数转换器所能表示的最大数是多少,即ADC的位数。ADC值每变动1,对应电压的变动为:V(Ref)/2n,V(Ref)为参考电压,n为ADC的位数。例:n=12,V(Ref)=3,ADC值每变动1,电压变化3/4096=0.000732V=0.732mVn=10,V(Ref)=3,ADC值每变动1,电压变化3/1024=0.0029
2014-07-31 18:23:41 2150
原创 委托与事件
委托与事件一、委托(delegate)1、委托是一种可以把引用存储为函数的类型。2、在定义了委托后,就可以声明该委托类型的变量,接着把这个变量初始化为与委托有相同返回类型和参数类别的函数引用,之后,就可以使用委托变量调用这个函数,就像该变量是一个函数一样。如:double multiply(double param1, double param2){ R
2014-07-11 18:03:34 566
原创 C#引用dll生成的控件
C#引用dll生成的控件自定义了一些控件,并封装成了dll文件,把此控件在工具箱中显示的方法:1、首先右击解决方案中的‘引用’,选择‘添加引用’,如下图:2、选择封装控件的dll文件,如下图:3、在工具箱中右击,选择‘选择项’,如下图:4、选择‘.NET Framework组件’选项卡,点击‘浏览’按钮,选择封装控件的dll文件,如下图:5、点击‘确定’,可
2014-07-08 18:16:43 2236
原创 C#继承窗体
C#继承窗体1、继承窗体的概念继承窗体就是根据现有窗体的结构创建一个与其一样的新窗体,这种从现有窗体继承的过程称为可视化继承。2、创建继承窗体1)新建一个项目,添加一个Windows窗体base.cs(类名命名为BaseClass),如下图:为按钮添加点击事件,是文本框中的数自动加1,如下:private void btnCount_Click(object sende
2014-07-08 18:12:50 4337
原创 C8051编译调试工具的安装
C8051编译调试工具的安装1、首先安装keil编译器c51v951.exe,如安装目录为:d:\keil2、然后安装调试器驱动SiC8051F_uVision.exe,注意此文件的安装目录必须与keil的安装目录一致(如本例中的d:\keil)。3、打开任意一个keil工程,点击‘project’->‘options for target’,在‘Device’选项卡中可以选择C805
2014-06-17 18:16:39 5213
原创 COSMIC编译器让代码在RAM中运行的方法
COSMIC编译器让代码在RAM中运行的方法对于STM8单片机Flash的块编程,代码必须在Ram内存中运行。因此,存储在Flash中的代码必须拷贝到Ram中编译、链接、运行。Cosmic编译器有两种实现方法:在STVD工程中创建段、在链接文件中创建内存段1、在STVD工程中创建段1)、在工程中设置段名‘project’->‘settings’->‘linker’->‘catego
2014-04-04 16:33:54 3669 2
转载 C#获取当前程序运行路径的方法集合
C#获取当前程序运行路径的方法集合 //获取当前进程的完整路径,包含文件名(进程名)。string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)//获取新的 Process组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)
2014-04-04 16:31:24 686
原创 C#在button按钮上显示箭头
C#在button按钮上显示箭头在C#中通过改变Button按钮的Text属性显示一些基本的图标把Button按钮的Font设置为Webdings,设置Text属性分别为3、4、5、6可以分别显示左、右、上、下箭头,其它值也可以显示其它的图标。
2014-04-04 16:28:15 4809 2
原创 C# excel中的对象
Application 对象Excel Application对象表示 Excel 应用程序本身。Application 对象公开了大量有关正在运行的应用程序、应用于该实例的选项以及在该实例中打开的当前用户的对象的信息。Workbook对象Microsoft.Office.Interop.Excel..::.Workbook对象表示Excel应用程序内的单个工作簿。Exce
2014-03-04 18:25:33 1774
转载 大端小端模式
大端小端模式大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。为什么会有大小端模式之分呢?这是因为在计算机系统中,是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要
2014-03-04 18:18:29 762
原创 float型数据与字节数组的转化
float型数据与字节数组的转化MCU和PC的浮点数都是基于IEEE754格式的。有4字节(float)、8字节(double)、10字节(有一些不支持)。这里以4字节(float)浮点数为例。一、C语言转化常见的方法有:1、强制指针类型转换。//转换float数据到字节数组unsigned char i;float floatVariable;unsigned char
2014-03-04 18:16:12 39514 5
原创 C#在button上显示图片
C#在button上显示图片首先使用ImageList控件添加图片,此时会生成一个ImageList控件的变量,如imageList1,然后在button的ImageList属性中添加imageList1,可以通过设置button的Image、ImageIndex属性显示ImageList控件中保存的不同图片。1、 使用ImagebtnTest.Image =
2014-02-20 17:49:49 12912
转载 逻辑电平的相关知识
以下内容根据网上资料整理逻辑电平的相关知识一、有关逻辑电平的一些概念 : 1)输入高电平(Vih):保证逻辑门的输入为高电平时所允许的最小输入高电平,当输入电平高于Vih时,则认为输入电平为高电平。2)输入低电平(Vil):保证逻辑门的输入为低电平时所允许的最大输入低电平,当输入电平低于Vil时,则认为输入电平为低电平。3)输出高电平(Voh):保证逻辑门的输出为高电平时的
2014-01-24 18:29:22 1816
原创 使用vs2010的dumpbin问题
使用vs2010的dumpbin问题问题:直接通过‘开始’->‘运行’,输入cmd运行命令行,定位到dumpbin.exe所在的路径,执行dumpbin时出现如下错误:‘没有找到mspdb100.dll,因此这个应用程序未能启动。重新安装应用程序可能会修改此问题’,但是找到此dll后拷贝到dumpbin所在的路径下,仍然不能运行。解决方法:打开vs2010自带的命令行工具:‘开
2014-01-24 18:14:38 2290
原创 STM8的中断
STM8的中断一、中断源类型1、非屏蔽中断:RESET、TRAP2、可屏蔽中断:外部中断、内部外设中断二、中断管理1、STM8的中断采用软件优先级+硬件优先级的控制方法来控制优先级分组。软件优先级优先于硬件优先级。2、硬件优先级由向量号确定,向量号越小,优先级越高。3、STM8软件优先级设置可以分为4个等级(0~3),实际上可设置的就三个等级:1~3。优先级顺序:0
2014-01-21 18:03:28 3843
原创 ScrollBar.Maximum属性
ScrollBar.Maximum 属性最大值只能以编程方式达到,滚动条的最大值不能通过运行时的用户交互而达到,通过用户交互可达到的最大值为1加上Maximum属性值与 LargeChange属性值的差(1+Maximum-LargeChange),在编程的时候要特别注意。
2014-01-17 17:54:21 1011
原创 Open-Drain、Push-Pull、floating input
Open-Drain、Push-Pull、floating input根据网上搜集的资料进行了整理!在配置GPIO(General Purpose Input Output)管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull)。对此两种模式,有何区别和联系,下面整理了一些资料,来详细解释一下:一、Push-Pull推挽输出1、原理输出
2014-01-17 17:53:16 7147
原创 .NET环境
.NET环境1、.NET环境由下列部分组成:1).NET Framework:特定版本.NET的CLR和类库的统称。.NET框架的层次结构2)CLR:加载和运行.NET程序集的执行系统。CLR提供语言集成、安全保护、内存、垃圾回收、进程管理、线程管理等服务。为帮助.NET与各种程序进行通信,CLR提供了一个跨语言和跨平台的数据类型系统。开发者使用CLR将该系统作为一个数据类型和
2014-01-17 17:41:42 1194
转载 C# 如何截取当前程序窗口的截图
以下源代码内容转自 CSDN 论坛。要想完成这个功能,首先要了解一下在C#中如何调用API(应用程序接口)函数。虽然在.Net框架中已经提供了许多类库,这些类库的功能也十分强大,但对于一些Windows底层编程来说,还是要通过调用这些API函数才可以实现。所有API都在"Kernel"、"User "和"GDI"三个库中得以运行。"Kernel",他的库名为 "KERNEL32.DLL",
2013-12-31 18:05:43 2882 1
原创 使用cosmic开发STM8L生成的map文件简要说明
map文件包括Segment、Modules、Stack Usage、Symbols这4部分。1、Segment描述了组成应用的各个段,包括开始地址(16进制)、结束地址(16进制)、长度(10进制)、段名。注意,结束地址是段的最后一个字节的下一个字节的地址。如果此段已经初始化,它会显示2次,第一次显示开始、结束、长度、段名信息,第二次显示映像拷贝。2、Modules列出所
2013-12-19 18:29:54 3035 1
原创 使用cosmic开发STM8L的链接文件简要说明
1、链接文件的注释以#开头2、每个段以以下形式表示:+seg 1)、section部分的含义:.text:代码区.fconst:大的常量.const:常量.data:在long addressing range内存中的初始化数据.bss:在long range内存中的未初始化数据.bsct:在最开始256字节(也成为short range或short addr
2013-12-19 18:27:41 1378 1
原创 STM8L的RAM与内存模型
STM8L的RAM与内存模型一、RAM空间在内存映射图上可以看到STM8L的RAM划分为2部分,如下:2K的RAM空间包含513个字节的Stack,经过深入研究发现,其实RAM被划分为:short range、long range、stack这3个部分。如下:可以在STVD中通过project setting设置上述3部分的大小,具体如下:Project->Se
2013-12-19 18:26:31 7901
原创 STM8单步调试的问题
在使用STM8进行单步调试的时候出现如下问题:有时出现:Error:swim error[30007]:swim communication error,如下所示:有时出现:Error:swim error[30004]:comm timeout,如下所示:原因:开发过程中设置了硬件看门狗,导致一进去就会引起看门狗复位。解决方法:通过修改option byte,设置
2013-12-16 18:09:05 4479 2
原创 使用STC12C5A60S2控制PN532
/********************************************************************************* STC12C5A60S2控制PN532进行寻卡操作* STC12C5A60S2通过UART与PN532相连* 通过中断实现接收UART数据,并通过定时判断PN532的响应是否超时********************
2012-09-18 17:23:19 5922 4
转载 每个程序员都应该知道的8个Linux命令
每个程序员都应该知道的8个Linux命令发表于09-13 15:25| 11216次阅读| 来源aqee| 35 条评论| 作者aqee编程语言Linux研发实践摘要:Linux里有很丰富的各种命令,有些是很难用的。然而,学会了前面说的这8个命令,你已经能处理大量的log分析任务了,完全不需要用脚本语言写程序来处理它们。每个程序员,在职业生涯的某个时刻,
2012-09-18 17:06:34 1697
原创 cc2530下载程序
外部mcu通过调试接口对CC2530进行编程,基本的功能函数如下://--cc2530 Debug commands---#define CMD_CHIP_ERASE 0x10#define CMD_WR_CONFIG 0x18#define CMD_RD_CONFIG 0x20#define CMD_READ_STATUS 0x30#define C
2011-12-28 17:26:50 5401 1
原创 80C51存储器与C51内存优化
<br />80C51在物理结构上有四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。但在逻辑上,即从用户使用的角度上,80C51有三个存储空间:片内外统一编址的64KB的程序存储器地址空间(用16位地址)、256B的片内数据存储器的地址空间(用8位地址,其中128B的专用寄存器地址空间仅有21个字节有实际意义)以及64KB片外存储器地址空间。<br />1、程序存储器<br />程序存储器用于存放编好的程序和表格常数。80C51片内有4KB ROM,片外16位地址线最多可扩展6
2011-01-07 17:21:00 3262
原创 编译器优化问题
<br />今天遇一程序,<br />unsigned char a,b,c; <br />a = 0x89;<br />b = a>>1;<br />c = a&b;<br />在单步调试的时候,观察数值发现b的值为0,分析b的值应当为0x44,百思不得其解,通过查看其汇编语句,发现问题所在。<br />汇编语句如下:<br />MOV R7,#TMOD(0x89) <br />MOV A,R7<br />CLR C<br />RRC A<br />ANL
2010-10-21 14:16:00 637
原创 EM4095与Manchester解码
<br /><br /> <br /> <br />/****************************************************************************************** 检测方法1).EM4095的数据格式为:9bit起始位+40bit数据位+10bit行校验位+4bit列校验位+1bit停止位 2).本程序时针对STC12C5A60S2单片机的,与80C51完全兼容,但是大
2010-09-13 18:08:00 7963 3
原创 crc16计算
<br />计算crc16的源代码:<br />/*************************************** declare const ***************************************/unsigned short crc16_table[0x10]={ 0x0000,0x1021,0x2042,0x3063,0x4084,0x50a5,0x60c
2010-06-26 15:00:00 2332
原创 使用Msp430的串口中断接收一包数据
<br />使用Msp430的串口中断接收一包数据<br /> <br />假设有一数据包,数据格式如表所示:<br /> <br />序号<br />项 目<br />长度(字节)<br />说明<br />1<br />数据包头(STX)<br />1<br />常量:0x02<br />2
2010-06-25 21:25:00 8992 3
原创 Wiegand协议
<br /><br />Wiegand协议<br />Wiegand26协议是由美国工业安全委员会SIA(Security Industry Association)的隶属组织访问控制标准子委员会制定的一个关于存取控制的标准协议。它是一个关于非接触式IC卡读写器接口和输出的协议。<br />协议中定义了经常应用于控制访问、安全和其他相关工业领域中读卡器和控制器之间的接口。这个标准的规范使得读卡器的设计者和控制器的生厂商们的工作得以标准化。<br /><br /><br />
2010-06-24 19:31:00 1826
转载 (转载)C语言陷阱和缺陷
[修订说明] 改正了文中的大部分错别字和格式错误,并对一些句子依照中文的习惯进行了改写。[译序] 那些自认为已经“学完”C语言的人,请你们仔细读阅读这篇文章吧。路还长,很多东西要学。我也是……[概述] C语言像一把雕刻刀,锋利,并且在技师手中非常有用。和任何锋利的工具一样,C会伤到那些不能掌握它的人。本文介绍C语言伤害粗心的人的方法,以及如何避免伤害。
2008-10-09 12:35:00 728
转载 (转载)在Dll中创建对话框并调用
1、第一步创建一“MFC AppWizard (dll)”工程,接下来选择“Regular Dll using shared MFC DLL”,点击“Finish”。2、添加一对话框资源到工程中,从菜单中选择Insert->Resource,添加一“Dialog”选择“New”,至此对话框已添加到DLL工程中。3、为对话框添加一新类,如:CTest,基类为CDialog。4、在MFCDLL.cpp
2008-09-18 09:38:00 421
转载 (转载)在MFC扩展DLL中输出对话框
在MFC扩展DLL中输出对话框作者:Andreas Leitner 编译:刘峰从MFC扩展动态链接库中输出对话框似乎是很容易的.你仅需要将相应类用AFX_EXT_CLASS输出即可。如果你用一个应用程序和一个动态链接库建立或许会成功。但是如果你在应用程序和DLL中都插入更多的资源,你将会得到严重错误。原因如下:表示一个指定资源的正常途径是用它的ID。ID是一个用资源编辑器定义的整型常量。现在,假定
2008-09-11 16:08:00 638
转载 (转载)WPARAM与LPARAM
根据字面意思理解:WPARAM就是DWORD_PARAMETER(双字节参数)的缩写.LPARAM就是LONG_PARAMETER(长整型参数)的缩写.WPARAM:16位(双字节(在16位系统的时候))的消息参数。值的格式和意思取决于主要的事件消息类型。在不同的情况下,WPARAM变元可能传输一个坐标点对,使用低字值标识次要的消息类型,提供某些其他的数据类型
2008-09-11 13:46:00 849
转载 (转载)Dialog & Windows 使用技巧
注:以下代码以一个名为CTest6Dlg的对话框类为例1. 在任务栏隐藏对话框 ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);2. 使对话框为顶层窗口 SetWindowPos(&this->wndTopMost, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);3. 在运行时添加
2007-12-04 17:02:00 952
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人