- 博客(28)
- 资源 (36)
- 收藏
- 关注
转载 高质量C++编程之内存管理
常见的内存错误及其对策 问题1: 内存分配未成功,却使用了它 解决办法:在使用内存之前检查指针是否为NULL。如果指针p是函数的参数,那么在函数的入口处用assert(p!=NULL)进行检查。如果是用malloc或new来申请内存,应该用if(p==NULL)或if(p!=NULL)进行防错处理。 问题2: 内存分配虽然成功,但是尚未初始化就引用它。 问题
2012-12-25 08:14:55
697
原创 at91sam7x之看门狗定时器使用
<br />at91sam7x之看门狗使用比较简单,但是刚开始设置WDT_MR确不成功.<br />函数如下:<br />//---初始化看门狗-----------------------<br />void Init_WDT(void)<br />{<br /> *AT91C_WDTC_WDMR = 0x3Eff2Eff; <br />}<br />//---复位 看门狗-----------------------<br />void ClearWDT(void)<br />{<br />
2010-10-19 09:08:00
2576
原创 at91sam7x256之IIC(TWI)实验_PCF8563_AT24C02
I2C总线是由Philips公司开发的2线式串行总线,由于其简单、高效、互联成本小而被广泛地用于微控制器与外围设备的连接。AT91SAM7X256是Atmel公司于2005年推出的基于ARM7的工业级芯片,他以体积小、功耗低、连接方式广泛、处理资源丰富、控制灵活等特点受到嵌入式领域开发人员的重视。本文介绍AT91SAM7X256的I2C控制器TWI接口(two-wired interface)
2010-06-30 16:15:00
3595
原创 at91sam7x256与ads1256/ads1255的SPI通讯
<br />at91sam7x256通过SPI0控制SPI接口的LCD,按照开发板的iar例程,移植到keil中很轻松的搞定了。<br />可是at91sam7x256与TI公司的ads1256/ads1255通讯搞了两周始终有这样那样的问题,<br />现在通讯基本上正常了,当然还有些细节问题需要解决。<br />//at91sam7x256的SPI0初始化<br />void Init_SPI0(void)<br />{<br /> GPIO_A->PIO_OER |=MOSI0 |MISO0 |SC
2010-06-29 12:03:00
6920
5
原创 at91sam7x256之SPI0与SPILCD
<br />又搞了半天,液晶模块显示功能搞定了。<br />LCD应该叫LCM,反正都是叫液晶模块,带字库的液晶12232E。<br />液晶与at91sam7x256连接是通过串口SPI连接的,这样节省了不少管脚,连线也少了。<br />基本上是开发板iar例子搬过来的,但是设置有些不同:<br />1,io初始化不同,因为iar例子里面都是开发板厂家自己写的程序,很乱,看不清楚。<br /> 我自己对spi端口进行了初始化,也用了lib_at91sam7x256.h里的库函数,两个都可以用。<br
2010-06-08 12:01:00
2391
原创 at91sam7x256之串口uart0设置之二
<br />搞了两天,at91sam7x256之串口uart0终于搞定了,<br />一开始出现的问题是发送出来的数据不对,但是用串口调试助手给开发板发送数据,然后直接回送没有问题。<br />原因是串口波特率设置不对,我把晶振频率FOSC作为系统主时钟MCK用了,虽然检查半天控制寄存器US_CR和模式寄存器US_MR各个位的值设置都没有问题,也是不行的。<br />看了开发板例程中的board .h头文件,我才知道原来晶振频率FOSC作为系统主时钟MCK不同:<br />#define AT91B_MAI
2010-06-08 11:59:00
4462
1
原创 at91sam7x256之gpio与串口 uart0
<br />at91sam7x256的gpio输出很简单,只要设置一下<br />PIO_OER寄存器,输出或者清零的时候操作PIO_SODR或PIO_CODR寄存器就可以了。<br />可是gpio输入状态读取的时候直接读取PIO_PDSR是得不到管脚高低电平状态的,<br />必须设置PMC_PCER相应位将PIO 控制器时钟使能,<br />手册上写道【对I/O 线电平读取时需要将PIO 控制器时钟使能,否则PIO_PDSR 读到的是时钟禁用时的I/O<br />线电平。】<br />串口(UA
2010-06-08 11:58:00
2532
原创 KEIL加jlink调试at91sam7x256之一
<br />按照keil for arm教程建个工程, 写主函数,操作GPIO,程序写好后编译没有问题,<br /> "at91sam7x.axf" - 0 Error(s), 0 Warning(s). <br />设置debug为JLINK, 程序下载到flash的时候,<br />提示 keil之out window窗口提示错误如下: No Algorithm found for: 00100000H - 001004E7H <br />很是郁闷,咋不行啊, <br />上百度google了一下搜索"
2010-06-04 15:15:00
5209
原创 jpg文件压缩
#include //这个一定要的 ... TJPEGImage *j=new TJPEGImage(); j->LoadFromFile("e://temp//aaa.jpg"); j->DIBNeeded(); j->CompressionQuality=2; //1..100 压缩率 高-->低 j->Compress(); j->SaveToFile("e://temp//aaa1.j
2010-04-16 15:55:00
759
转载 C++Builder非可视组件的消息处理技巧
一个非可视的组件必须对Windows操作系统或用户定义的消息作出响应。然而,由于一个非可视组件没有窗口,因此它也没有窗口句柄,自然它也不能接收到消息,为了解决这一问题,我们的思路是创建一个隐藏的窗口,使非可视组件能够接收到消息。 为了给你的非可视组件创建一个隐藏的窗口,需要有以下: 1.一个私有变量型(Private Variable)的HWnd来取得窗口句柄。 2.一个用来捕捉窗口发送给组
2009-08-06 11:22:00
657
原创 第二次使用C++BUILDER开发SOCKET通讯程序,工作完成
我想通过网络向设备(led屏)iP:192.168.224.250 端口号:2929 发送数据,比如发送unsigned char buf[1024]; 中的数据, 请问是用BCB中的 TClientSocket *ClientSocket1; TServerSocket *ServerSocket1; TUdpSocket *UdpSocket1;
2009-06-06 22:02:00
4771
1
转载 在CB中用socket api来写网络通讯程序
关键字:socket,api,网络通讯程序,TCP,UDP 作者:kingcaiyao 更新:2003-09-10 浏览:14250本文转自csdn,作者:kingcaiyao原标题:在C++ Builder中用socket api来写网络通讯程序(同时支持TCP和UDP协议)原文: http://www.csdn.net/develop/read_arti
2009-06-02 20:23:00
1607
原创 dbgrid用两种颜色间隔分行显示
Delphi代码如下: procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin with
2009-04-20 11:15:00
1715
原创 c++builder对数据库中BLOB字段读写
SQL Server2000 我用的image 类型 //存储 TBlobField *blob_pic=(TBlobField *)UserMod->TInsert->FieldByName("IMAGE"); try { blob_pic->LoadFromFile(app_path+"//temp//temp.jpg"); } catch(..
2009-02-17 08:38:00
3808
转载 Delphi中DHtmlEdit回车换两行的解决办法收藏
相信所有用到过DHtmlEdit Ocx控件的朋友都遇到过这个问题,回车的时候,会产生标记,导致行间距过大,而 Shift+回车 就比较正常,原因是Shift+回车 产生的标记是 ;今天看到CSDN有朋友发问,顺手写个解决办法,当然办法不止一种,css也可以解决,这里顺着提问者的思路给出解决办法. 代码如下: view plaincopy to clipboardpri
2009-01-19 09:04:00
1496
原创 C++ Builder中消息机制的研究与应用技巧
C++ Builder作为一种RAD方式的程序开发工具,提供了功能强大的集成开发环境。C++ Builder提供的VCL组件,封装了Windows的底层API和具体实现细节,也提供了对组件消息机制的良好封装。比如,可以对按钮控件(TButton)的单击、按下、拖动等事件消息设置相应的处理函数,并在对应的函数体中实现对该消息的处理与响应。虽然C++ Builder对VCL组件的消息
2008-11-05 16:06:00
1523
原创 我在BCB中实现消息处理的简单代码--XJQ2003
一-//初始化 void INITMessage(HWND pWnd,UINT uMsgID){ pWnd= Form1->Handle; uMsgID=WM_FILEREADY; pWnd=FindWindow("TForm1","Form1");//这个好象可以不要 if(pWnd==NULL) retur
2008-11-05 15:33:00
1755
1
原创 C++ Builder中消息处理过程及应用
C++ Builder作为一种RAD方式的程序开发工具,其全新的可视化编程环境、面向组件的开发模式无疑会大大地提高编程效率。它对繁杂的Windows 消息及API作了较全面的封装,编程者在大多数情况下不需理会Windows消息的细节,只要将心思放在组件的事件处理函数上即可。 然而,毕竟Windows操作系统是一个以消息驱动的系统,运行其上的应用程序,自然无法脱离系统之外,因此掌握并运用消息处
2008-11-05 15:23:00
1355
原创 CRC算法
//======CRC算法=============static unsigned short crctab[256]={0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7,0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF,0x1231, 0
2007-12-11 13:49:00
1181
原创 delphi中结束进程
Uses TLHelp32;procedure EndProcess(AFileName: string);constPROCESS_TERMINATE = $0001;varContinueLoop: BOOL;FSnapShotHandle: THandle;FProcessEntry32: TProcessEntry32;beginFSnapShotHandle := CreateToolh
2007-07-21 03:42:00
870
原创 单片机C51串口中断接收和发送测试例程(含通信协议的实现)
通信协议:第1字节,MSB为1,为第1字节标志,第2字节,MSB为0,为非第一字节标志,其余类推……,最后一个字节为前几个字节后7位的异或校验和。测试方法:可以将串口调试助手的发送框写上 95 10 20 25,并选上16进制发送,接收框选上16进制显示,如果每发送一次就接收到95 10 20 25,说明测试成功。 //这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单
2007-07-21 03:37:00
2550
原创 CRC算法与实现
引言CRC的全称为Cyclic Redundancy Check,中文名称为循环冗余校验。它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域广泛地用于实现差错控制。实际上,除数据通信外,CRC在其它很多领域也是大有用武之地的。例如我们读软盘上的文件,以及解压一个ZIP文件时,偶尔会碰到“Bad CRC”错误,由此它在数据存储方面的应用可略见一斑。差错控制理论是在代数
2007-07-21 03:35:00
1221
原创 C++Builder中实现BMP,JPG图片格式的转换
#include void Bitmap2Jpeg(AnsiString bmpFile, AnsiString jpegFile){Graphics::TBitmap *bitmap = new Graphics::TBitmap();bitmap->LoadFromFile(bmpFile);TJPEGImage *jpeg = new TJPEGImage();try {jpeg->Assi
2007-07-21 03:30:00
4939
原创 delphi中Bmp转Jpeg JPG转BMP
;----Bmp转Jpeg----- uses Jpeg;procedure TForm1.Button1Click(Sender: TObject);VarJpg : TJpegImage;BMP : TBitMap ;beginJpg :=TJpegImage.Create;BMP :=TBitmap.Create;BMP.LoadFromFile(H:/Avi_图_Wav/跳.bm
2007-07-21 03:25:00
20166
原创 DOS系统下的实时多任务系统开发(RTKERNEL)
DOS系统下的实时多任务系统开发(RTKENERL) RTOS-32, RTKernel. 用于32位x86结构,Win32/NT兼容的嵌入式系统实时多任务操作系统, 用于DOS系统的实时多任务内核. 用于x86兼容CPU的非专利保护嵌入式操作系统, RTKernel是一个功能强大的实时多任务系统,它是被设计用来提供给那些希望在DOS .../*串口设置和创建"线程"任务*/#incl
2007-07-21 03:07:00
1744
原创 在C++ Builder中用Ole控制Excel表
笔者在实际工作中经常用Excel表做数据报表,大多数表格的数据都要从数据库中读取,这样我就用C++Builder做了一个报表程序,方便了很多,现在把它共享给C++Builder爱好者们,就算为丰富C++Builder的文档资料做点事情吧。 首先把Excel报表文件保存到一个指定目录下,最好放在可执行程序的子目录下,作为模板文件。可以把报表标题、表头等设置好。这里是保存在trpt子目录下。 然后
2005-07-29 15:28:00
1604
2
原创 Delphi图像存取另类解决方案
在《Delphi存取图像完整解决方案》一文中,笔者提供了一种DELPHI存取JPEG、BMP图像到数据库的解决方案,虽然它适用于ACCESS和SQL数据库,但它并不适用于所有数据库(比如PARADOX数据库中的GRAPHIC图像字段就不能采用该方法存取图像数据),下文将介绍DELPHI利用ASSIGN方法存取JPEG、BMP图像到数据库的另一解决方案来进行补充完善。演示数据库结构和窗口界面设计同前
2005-06-30 09:21:00
1154
原创 发送电子邮件
关键字:任务条;发送电子邮件 怎样隐藏应用程序的任务条图标 首先,请看看这些术语。系统托盘是一个在任务条右角的小方框,在托盘了应用程序可以显示小图标 。任务条是可以在屏幕上伸展的工具栏。它就是程序图标所在的位置。想隐藏程序的任务条图标,你可以应用ShowWindow函数并传给它Application->Handle窗口句柄。ShowWindow
2004-02-26 14:36:00
5945
QuickReport Editions for C++ Builder
2012-08-23
UBOOT-usb盘做DOS系统
2009-09-22
C8051F单片机u-ce5使用说明
2009-09-21
C++builder下Windows编程.doc
2009-03-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人