最新日志

发表于:2008-7-10 11:07:51
标签:无标签

0

好的电路与优秀男人的10大共同点


好的电路与优秀男人的10大共同点

1、好的电路具有优秀的工作表现,经得起实际验证 ——优秀的男人也许不善表达,但却能给你满意的成绩和表现;

2、好的电路有很好的稳定性,能够在恶劣的条件下正常工作——优秀的男人在艰苦的环境下仍不忘奋斗和理想;

3、好的电路都有很好的噪声抑制功能,能够屏蔽不必要的干扰——优秀的男人经得起现实中不利的议论还能经得起各种诱惑;

4、好的电路带宽较大,可以适合较宽的频率范围——优秀的男人能屈能伸,在低职位和高职位都同样出色;

5、好的电路灵敏度很好,不会忽略掉微小的有用信号——优秀的男人能够敏锐的洞察机会并及时抓住;

6、好的电路功耗很低,可以节省客户的资源——优秀的男人不会浪费你的付出和投资;

7、好的电路一旦设计完成,还有可能开发出更多的功能和应用——优秀的男人一旦被发现就会越来越多的优点呈现;

8、好的电路朴实无华,不事张扬,不用名贵的IC提升自己的身价--好的男人深邃内敛,不用光鲜的外表提升自己的身价!

9、好的电路需要有优秀的工程师开发跟欣赏——优秀的男人需要优秀的女人品味和鼓励;

10、好的电路不容易设计——优秀的男人不容易拥有!!!

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 转贴

评论(1) | 阅读(143)
发表于:2008-7-9 8:41:38
标签:无标签

0

基于STM32的嵌入式网络化远程测控系统

项目名称  基于STM32的嵌入式网络化远程测控系统的设计
预计实施时间 计划参加人数  1
背景描述 该计划的背景及其实现的目的、意义
 

嵌入式系统是指嵌入到各种产品或工程应用中的、以微处理器或微控制器为核心的软硬件系统。随着工业以太网技术的发展,工业控制领域出现了嵌入式技术。利用嵌入式软、硬件可以实现单片机系统上的以太网技术,即嵌入式以太网。嵌入式以太网实现了对现场的网络化远程测控,改变了传统的测控模式,在工业控制领域已经得到广泛的应用。

嵌入式网络服务器离不开操作系统,嵌入式操作系统具有结构小巧、实时性强、稳定性高等特点。其中源代码开放的嵌入式μC /OS-II实时操作系统在工业测控领域得到普遍应用。

TCP/IP(通常它是指传输控制协议/网际协议,Transmission Control Protocol/Internet protocol)是发展至今最成功的通信协议,它被用于当今所构筑的最大的开放式网络系统Internet之上就是其成功的证明。采用TCP/ IP 以太网协议实现网络化测控技术是一种先进、节约、极方便的面向现场级控制设备的新技术。

功能描述 详细描述该项目能够实现的功能
 

本系统采用STM32+μC /OS-II来实现网络化远程测控系统。远程测控的实质就是把现场传感器采集到的数据信号(如温度,湿度等)转换为符合TCP/ IP 以太网协议的信号,使用户可以通过局域网或者Internet终端就可以访问嵌入式系统,并对其进行远程检测和控制。根据具体的需要选择满足要求的A/DD/A以及传感器,与嵌入式Web ServerInternet来组成一个远程网络化测控系统。

多路传感器把采集到的数据通过变换送给WEBWorld Wide Web文档)服务器,结合当前比较先进的数据融合技术进行数据处理,提高测试精度,最终形成可以识别的有用信息,然后由Internet传给远方的监控中心,监控中心根据现场情况做出判断,发出控制指令,由现场的执行机构来执行指令。通过嵌入式系统,将底层的测控设备与Internet连接起来,真正做到网络化远程测控。这样构建的测控系统可以在工业中得到广泛采用,其中局域网(LAN)实现对设备的本地访问和控制,Internet实现对设备的远程控制。

系统采用320240图形化液晶显示器,实现友好的人机界面。除了能通过网络来控制本系统,同时本系统也能在现场进行实地操作。

在实现以太网从节点的同时,本系统也能通过其他的一些工业现场总线接口,如CAN、LIN等,实现对总线节点的控制。

 

 

解决办法 预计会遇到的困难和相应的解决办法

 1、本系统是一个智能化的结构,在一定程度上,涉及的知识面比较大,预计的时间估计不够,这个问题可以通过寻找合作者解决。

.2、为提高系统稳定性考虑采用ucos操作系统,开发难度也会有所提高,以前了解过ucos方面有关知识,有基础,可以解决。

3、对网络方面的了解不是太多,系统的关键也就是TCP/IP协议的应用问题,这个可以通过自己思考和多问。

 

预期效果 开发项目:预期要解决的问题、达到的经济效益和产品所需数量;
学习项目:希望学到的知识或技能,达到哪些实践的目的等。

 开发项目:预期要解决的问题、达到的经济效益和产品所需数量;

1、利用嵌入式软、硬件可以实现单片机系统上的以太网技术,即嵌入式以太网。

2、实现TCP/IP模式的网络化远程测控系统。

3、提供液晶显示的友好界面,方便操作与管理。

时间安排 日  期 进    度    描    述
 7.1-7.25  了解STM32的基本知识,学会基本外部传感器接口的设计,然后结合已经学习过的uC/OS-II操作系统,实现初步操作系统的移植
 7.25-8.25  了解TCP/IP的应用知识,在前面做好的嵌入式平台上,具体的利用TCP/IP协议实现网络接口的功能
 8.25-10.1  将各个功能模块进行整合,从整体上调试系统。
总结  

嵌入式系统接入Internet互连网是嵌入式技术发展的必然趋势。本系统涉及基于ARM嵌入式远程网络化测控的实现方案,同时针对目前情况,结合流行的ARM微处理器,采用STM32+μC /OS-II来实现网络化远程测控,提出了嵌入式TCP/IP协议设计的具体方法。从而实现了嵌入式系统与Internet的链接,使得在工业领域里的远程测控变成可能。随着芯片技术和总线技术的发展, 嵌入式远程网络化测控在工业中的应用定会更加广泛。

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 无分类

评论(6) | 阅读(102)
发表于:2008-6-3 16:09:54
标签:STM32方案  

2

基于STM32的嵌入式网络化远程测控系统的设计

STM32项目/学习计划表

项目名称  基于STM32的嵌入式网络化远程测控系统的设计
请点击以下链接更新您的个人资料(包括“职位,部门,单位名称,地址,邮编,电子邮箱,电话”),以便我们能及时联系您并快速发送开发套件。http://space.ednchina.com/member/Register.aspx
联系方式
(邮箱/电话)
为了保证用户隐私,此处已被隐藏
预计实施时间 自  7月1日 到10月1日 计划参加人数  1
背景描述 该计划的背景及其实现的目的、意义
 

嵌入式系统是指嵌入到各种产品或工程应用中的、以微处理器或微控制器为核心的软硬件系统。随着工业以太网技术的发展,工业控制领域出现了嵌入式技术。利用嵌入式软、硬件可以实现单片机系统上的以太网技术,即嵌入式以太网。嵌入式以太网实现了对现场的网络化远程测控,改变了传统的测控模式,在工业控制领域已经得到广泛的应用。

嵌入式网络服务器离不开操作系统,嵌入式操作系统具有结构小巧、实时性强、稳定性高等特点。其中源代码开放的嵌入式μC /OS-II实时操作系统在工业测控领域得到普遍应用。

TCP/IP(通常它是指传输控制协议/网际协议,Transmission Control Protocol/Internet protocol)是发展至今最成功的通信协议,它被用于当今所构筑的最大的开放式网络系统Internet之上就是其成功的证明。采用TCP/ IP 以太网协议实现网络化测控技术是一种先进、节约、极方便的面向现场级控制设备的新技术。

功能描述 详细描述该项目能够实现的功能
 

本系统采用STM32+μC /OS-II来实现网络化远程测控系统。远程测控的实质就是把现场传感器采集到的数据信号(如温度,湿度等)转换为符合TCP/ IP 以太网协议的信号,使用户可以通过局域网或者Internet终端就可以访问嵌入式系统,并对其进行远程检测和控制。根据具体的需要选择满足要求的A/DD/A以及传感器,与嵌入式Web ServerInternet来组成一个远程网络化测控系统。

多路传感器把采集到的数据通过变换送给WEBWorld Wide Web文档)服务器,结合当前比较先进的数据融合技术进行数据处理,提高测试精度,最终形成可以识别的有用信息,然后由Internet传给远方的监控中心,监控中心根据现场情况做出判断,发出控制指令,由现场的执行机构来执行指令。通过嵌入式系统,将底层的测控设备与Internet连接起来,真正做到网络化远程测控。这样构建的测控系统可以在工业中得到广泛采用,其中局域网(LAN)实现对设备的本地访问和控制,Internet实现对设备的远程控制。

系统采用320240图形化液晶显示器,实现友好的人机界面。除了能通过网络来控制本系统,同时本系统也能在现场进行实地操作。

在实现以太网从节点的同时,本系统也能通过其他的一些工业现场总线接口,如CAN、LIN等,实现对总线节点的控制。

 

 

解决办法 预计会遇到的困难和相应的解决办法

 1、本系统是一个智能化的结构,在一定程度上,涉及的知识面比较大,预计的时间估计不够,这个问题可以通过寻找合作者解决。

.2、为提高系统稳定性考虑采用ucos操作系统,开发难度也会有所提高,以前了解过ucos方面有关知识,有基础,可以解决。

3、对网络方面的了解不是太多,系统的关键也就是TCP/IP协议的应用问题,这个可以通过自己思考和多问。

 

预期效果 开发项目:预期要解决的问题、达到的经济效益和产品所需数量;
学习项目:希望学到的知识或技能,达到哪些实践的目的等。

 开发项目:预期要解决的问题、达到的经济效益和产品所需数量;

1、利用嵌入式软、硬件可以实现单片机系统上的以太网技术,即嵌入式以太网。

2、实现TCP/IP模式的网络化远程测控系统。

3、提供液晶显示的友好界面,方便操作与管理。

时间安排 日  期 进    度    描    述
 7.1-7.25  了解STM32的基本知识,学会基本外部传感器接口的设计,然后结合已经学习过的uC/OS-II操作系统,实现初步操作系统的移植
 7.25-8.25  了解TCP/IP的应用知识,在前面做好的嵌入式平台上,具体的利用TCP/IP协议实现网络接口的功能
 8.25-10.1  将各个功能模块进行整合,从整体上调试系统。
总结  

嵌入式系统接入Internet互连网是嵌入式技术发展的必然趋势。本系统涉及基于ARM嵌入式远程网络化测控的实现方案,同时针对目前情况,结合流行的ARM微处理器,采用STM32+μC /OS-II来实现网络化远程测控,提出了嵌入式TCP/IP协议设计的具体方法。从而实现了嵌入式系统与Internet的链接,使得在工业领域里的远程测控变成可能。随着芯片技术和总线技术的发展, 嵌入式远程网络化测控在工业中的应用定会更加广泛。

备  注

签名:赵元波          时间:6月3日

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 原创

评论(2) | 阅读(243)
发表于:2008-5-24 10:56:22
标签:无标签

0

性价比超高的单片机学习板

点击看大图

上面是全家福和用手机拍的

本实验板是集单片机编程、实验、下载多种功能为一体, 该51单片机学习实验板除了支持ATmel公

司的AT89S系列之外,还支持STC系列增强型51单片机的实验、编程功能,是一款真正具有物超所

值的51单片机多功能板。

本实验板是电子技术实验室开发的一款多功能51综合学习实验板。 是经过仔细研究和分析多种实

验板后,采取优化方案, 研制而成。 所以对于单片机学习者来说, 性价比是很高的。 花最少的

钱,学到最多的知识。

实验板功能特点
编程器、实验板、ISP下载三合一。
支持Atmel 89系列,STC系列单片机的烧写。
提供丰富的实验例程,附带C源代码和汇编源码例程,并且附带详细的注释,串行下载,操作方便


直接使用计算机USB接口供电。
带有电源开关实验更加方便 再也不用频繁拔实验板电源线了 轻轻一按 即可通断。
直接将器件放在开发系统上进行编程,可单独作编程器使用。
板载丰富的实验硬件资源,P0 P1 P2 P3 四个IO口 全部可扩展设计 真正的满足学习者的需要通

过自己连接IO口线路 可以完成任何复杂的51单片机实验。
配有ISP下载口 配合本实验板标配的89S52单片机 就可不用任何编程器 也不用将芯片取下就可直

接完成烧写编程工作 十分方便, 烧写完毕即可自动演示。实验过程中无需拔插任何电缆和芯片,

也无需切换电源,可轻松地将编绎好的代码下载到实验板上进行验证或演示,整个过程只需利用鼠

标操作即可,方便快捷。
 
实验板资源说明:
1、8位高亮LED发光二极管(做流水等实验)
2、8位LED数码管(做动态或静态数码管显示实验)
3、8X8点阵实验(熟悉点阵屏显示原理)
4、3个I/O口控制8路数码管(74HC595显示实验)
5、一路蜂鸣器(做单片机发声和演奏音乐实验)
6、4 x 4矩阵键盘(做键盘编码扫描实验)
7、4只独立按键(做按键控制实验)
8、一体化红外接收头(做红外遥控接收解码实验)
9、I2C串行EEPROM 24C08(做IIC总线实验)
10、SPI接口EEPROM 93C46 (做SPI三线接口实验)
11、SPI串行实时时钟 DS1302(做SPI总线实验和时钟实验)
12、ADC0832模数转换器(做A/D转换实验)
13、MAX232 专用串口通讯电路(做和其他系统的串口通讯实验)
14、1602LCD字符型液晶接口(做字符显示实验)
15、12864LCD图形液晶接口(做图形 汉字 等显示实验)
16、串行温度传感器DS18B20接口(做一线总线 数字测温实验)
17、ISP下载接口(可配合实验板 当编程器使用)
18、32个 IO外扩接口(无限扩展 真正发挥你的开发才能)
19、为方便大家更换晶体振荡器(单片机“超频”)特别采用了圆孔插座,为不同实验更换晶体提

供便利
20、本学习板1602字符型LCD,12864图形点阵液晶LCD等全部采用插件方式,想做哪个试验就可以

插上对应的模块,插上后无需跳线,方便实用。不使用的模块也可以拔下来做其他试验。
 
本实验板附带的试验程序:
实验1—闪烁灯
实验2—流水灯的左移右移
实验3—流水灯的花样变化
实验4—数码管静态显示
实验5—数码管动态显示(I/0口驱动)
实验6—按键控制发光二极管
实验7— 按键控制流水灯花样
实验8—00~99计数器
实验9— 按键加减计数
实验10—定时器精确定时(控制LED闪烁频率1hz)
实验11—00~59秒计时器
实验12—数字钟
实验13—用3 个I/O控制8位数码管显示(74HC595驱动)
实验14—可调数字钟(74HC595驱动显示)
实验15—报警声
实验16—按键提示声
实验17—单片机音乐播放器
实验18—4x4键盘识别技术
实验19—电子琴
实验20—4x4键盘计算器
实验21—数字频率计
实验22—8x8点阵测试
实验23—8x8点阵显示0~9
实验24—PC机与单片机串口通信(带上位机软件测试)
实验25—DS1302时钟(专用时钟芯片)
实验26—红外测试
实验27—红外遥控音乐播放器
实验28—ADC0832数字电压表
实验29—DS18B20数字温度计(可支持负温度)
实验30—IIC总线接口EEPROM应用(24LC08)
实验31— SPI接口EEPROM应用
实验32—1602液晶显示技术
实验33—1602液晶显示数字钟
实验34—1602液晶显示频率计
实验35—12864图形液晶显示图形
实验36—12864图形液晶显示文字
不断更新丰富实验例程
(论坛长期提供技术支持,可以使学习者全面掌握单片机的知识。)
产品装箱清单:     
51实验板一台(板上含元件)
USB取电线一条
串口通讯电缆一条
STC89C51单片机一片
1602LCD字符液晶模块一块
红外遥控器一个
12M  晶振一个
51学习资料光盘一张(光盘中含本实验板所有例程,STC单片机程序下载软件,ISP下载软件、

Keil C51学习资料及教程,串口调试软件,还有本论坛原创的串口上位机,及简单的上位机程序源

码和单片机程序源码)

http://mcudz.5d6d.com/
联系方式:QQ:349242603   564679981
邮箱:lg05128018@163.com    bobi_love@163.com

 

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 无分类

评论(4) | 阅读(247)
发表于:2008-5-18 9:49:27
标签:单片机  

0

单片机开发板资料

自主开发的单片机学习板,适用广大的单片机初学者和单片机方面的技术应用!!!

点击此处查看原文 >>

系统分类: 工业控制   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(350)
发表于:2008-4-11 14:28:14
标签:单片机开发板  

0

单片机PCB做好了,大家给点意见

点击看大图单片机PCB做好了,大家给点意见!!谢谢

点击此处查看原文 >>

系统分类: 单片机   |    用户分类: 无分类    |    来源: 原创

评论(2) | 阅读(282)
发表于:2008-1-13 16:49:10
标签:无标签

3

VC调试入门


概述
调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。
这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用。
本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单Open。
 
设置
为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从AppWizard创建的工程中包含的Debug Configuration自动包含调试信息,但是是不是Debug版本并不是程序包含调试信息的决定因素,程序设计者可以在任意的Configuration中增加调试信息,包括Release版本。
为了增加调试信息,可以按照下述步骤进行:

  • 打开Project settings对话框(可以通过快捷键ALT+F7打开,也可以通过IDE菜单Project/Settings打开)
  • 选择C/C++页,Category中选择general ,则出现一个Debug Info下拉列表框,可供选择的调试信息 方式包括:
     
    命令行 Project settings 说明
    None 没有调试信息
    /Zd Line Numbers Only 目标文件或者可执行文件中只包含全局和导出符号以及代码行信息,不包含符号调试信息
    /Z7 C 7.0- Compatible 目标文件或者可执行文件中包含行号和所有符号调试信息,包括变量名及类型,函数及原型等
    /Zi Program Database 创建一个程序库(PDB),包括类型信息和符号调试信息。
    /ZI Program Database for Edit and Continue 除了前面/Zi的功能外,这个选项允许对代码进行调试过程中的修改和继续执行。这个选项同时使#pragma设置的优化功能无效

  • 选择Link页,选中复选框"Generate Debug Info",这个选项将使连接器把调试信息写进可执行文件和DLL
  • 如果C/C++页中设置了Program Database以上的选项,则Link incrementally可以选择。选中这个选项,将使程序可以在上一次编译的基础上被编译(即增量编译),而不必每次都从头开始编译。
断点
断点是调试器设置的一个代码位置。当程序运行到断点时,程序中断执行,回到调试器。断点是 最常用的技巧。调试时,只有设置了断点并使程序回到调试器,才能对程序进行在线调试。

设置断点:可以通过下述方法设置一个断点。首先把光标移动到需要设置断点的代码行上,然后
  • 按F9快捷键
  • 弹出Breakpoints对话框,方法是按快捷键CTRL+B或ALT+F9,或者通过菜单Edit/Breakpoints打开。打开后点击Break at编辑框的右侧的箭头,选择 合适的位置信息。一般情况下,直接选择line xxx就足够了,如果想设置不是当前位置的断点,可以选择Advanced,然后填写函数、行号和可执行文件信息。
去掉断点:把光标移动到给定断点所在的行,再次按F9就可以取消断点。同前面所述,打开Breakpoints对话框后,也可以按照界面提示去掉断点。

条件断点:可以为断点设置一个条件,这样的断点称为条件断点。对于新加的断点,可以单击Conditions按钮,为断点设置一个表达式。当这个表达式发生改变时,程序就 被中断。底下设置包括“观察数组或者结构的元素个数”,似乎可以设置一个指针所指向的内存区的大小,但是我设置一个比较的值但是改动 范围之外的内存区似乎也导致断点起效。最后一个设置可以让程序先执行多少次然后才到达断点。

数据断点:数据断点只能在Breakpoints对话框中设置。选择“Data”页,就显示了设置数据断点的对话框。在编辑框中输入一个表达式,当这个 表达式的值发生变化时,数据断点就到达。一般情况下,这个表达式应该由运算符和全局变量构成,例如:在编辑框中输入 g_bFlag这个全局变量的名字,那么当程序中有g_bFlag= !g_bFlag时,程序就将停在这个语句处。

消息断点:VC也支持对Windows消息进行截获。他有两种方式进行截获:窗口消息处理函数和特定消息中断。
在Breakpoints对话框中选择Messages页,就可以设置消息断点。如果在上面那个对话框中写入消息处理函数的名字,那么 每次消息被这个函数处理,断点就到达(我觉得如果采用普通断点在这个函数中截获,效果应该一样)。如果在底下的下拉 列表框选择一个消息,则每次这种消息到达,程序就中断。


Watch
VC支持查看变量、表达式和内存的值。所有这些观察都必须是在断点中断的情况下进行。
观看变量的值最简单,当断点到达时,把光标移动到这个变量上,停留一会就可以看到变量的值。
VC提供一种被成为Watch的机制来观看变量和表达式的值。在断点状态下,在变量上单击右键,选择Quick Watch, 就弹出一个对话框,显示这个变量的值。
单击Debug工具条上的Watch按钮,就出现一个Watch视图(Watch1,Watch2,Watch3,Watch4),在该视图中输入变量或者表达式,就可以观察 变量或者表达式的值。注意:这个表达式不能有副作用,例如++运算符绝对禁止用于这个表达式中,因为这个运算符将修改变量的值,导致 软件的逻辑被破坏。

Memory
由于指针指向的数组,Watch只能显示第一个元素的值。为了显示数组的后续内容,或者要显示一片内存的内容,可以使用memory功能。在 Debug工具条上点memory按钮,就弹出一个对话框,在其中输入地址,就可以显示该地址指向的内存的内容。

Varibles

Debug工具条上的Varibles按钮弹出一个框,显示所有当前执行上下文中可见的变量的值。特别是当前指令涉及的变量,以红色显示。

寄存器
Debug工具条上的Reigsters按钮弹出一个框,显示当前的所有寄存器的值。

进程控制
VC允许被中断的程序继续运行、单步运行和运行到指定光标处,分别对应快捷键F5、F10/F11和CTRL+F10。各个快捷键功能如下:
 
快捷键 说明
F5 继续运行
F10 单步,如果涉及到子函数,不进入子函数内部
F11 单步,如果涉及到子函数,进入子函数内部
CTRL+F10 运行到当前光标处。

Call Stack
调用堆栈反映了当前断点处函数是被那些函数按照什么顺序调用的。单击Debug工具条上的Call stack就显示Call Stack对话框。在CallStack对话框中显示了一个调用系列,最上面的是当前函数,往下依次是调用函数的上级函数。单击这些函数名可以跳到对应的函数中去。

其他调试手段
系统提供一系列特殊的函数或者宏来处理Debug版本相关的信息,如下:

宏名/函数名 说明
TRACE 使用方法和printf完全一致,他在output框中输出调试信息
ASSERT 它接收一个表达式,如果这个表达式为TRUE,则无动作,否则中断当前程序执行。对于系统中出现这个宏 导致的中断,应该认为你的函数调用未能满足系统的调用此函数的前提条件。例如,对于一个还没有创建的窗口调用SetWindowText等。
VERIFY 和ASSERT功能类似,所不同的是,在Release版本中,ASSERT不计算输入的表达式的值,而VERIFY计算表达式的值。

关注
一个好的程序员不应该把所有的判断交给编译器和调试器,应该在程序中自己加以程序保护和错误定位,具体措施包括:

  • 对于所有有返回值的函数,都应该检查返回值,除非你确信这个函数调用绝对不会出错,或者不关心它是否出错。
  • 一些函数返回错误,需要用其他函数获得错误的具体信息。例如accept返回INVALID_SOCKET表示accept失败,为了查明 具体的失败原因,应该立刻用WSAGetLastError获得错误码,并针对性的解决问题。
  • 有些函数通过异常机制抛出错误,应该用TRY-CATCH语句来检查错误
  • 程序员对于能处理的错误,应该自己在底层处理,对于不能处理的,应该报告给用户让他们决定怎么处理。如果程序出了异常, 却不对返回值和其他机制返回的错误信息进行判断,只能是加大了找错误的难度。
另外:VC中要编制程序不应该一开始就写cpp/h文件,而应该首先创建一个合适的工程。因为只有这样,VC才能选择合适的编译、连接 选项。对于加入到工程中的cpp文件,应该检查是否在第一行显式的包含stdafx.h头文件,这是Microsoft Visual Studio为了加快编译 速度而设置的预编译头文件。在这个#include "stdafx.h"行前面的所有代码将被忽略,所以其他头文件应该在这一行后面被包含。
对于.c文件,由于不能包含stdafx.h,因此可以通过Project settings把它的预编译头设置为“不使用”,方法是:
  • 弹出Project settings对话框
  • 选择C/C++
  • Category选择Precompilation Header
  • 选择不使用预编译头。

点击此处查看原文 >>

系统分类: 嵌入式   |    用户分类: 无分类    |    来源: 无分类

评论(1) | 阅读(593)
发表于:2008-1-13 16:22:49
标签:无标签

0

初学vc

 偶最近刚接触vc++,今天做了三个小程序,网上不是说初学必写的程序是hello world吗,我今天就用vc写了三种不同的hello程序:

1.win32 console application 控制台程序;下面example1是程序1的运行结果:

压缩包里的是工程文件:

rar

2.MFC Appwizard(exe)的对话框类型程序;其程序的运行结果如下:

rar

3.MFC Appwizard(exe)下的单文档类型程序;其程序的运行结果如下:

rar

希望能和网上的朋友们交流交流!!

 

点击此处查看原文 >>

系统分类: 嵌入式   |    用户分类: 无分类    |    来源: 无分类

评论(1) | 阅读(347)
发表于:2008-1-12 17:27:48
标签:无标签

1

嵌入式软件工程师的技能修炼

点穴:
深入了解至少一种处理器/控制器的体系结构,熟悉其汇编指令。
    
掌法:
精通C语言,掌握加载技术和编译链接知识。

兵刃:
了解常用存储、通讯和人机接口设备,熟练编写设备驱动程序。

阵法:
嵌入式操作系统的理论和实践。

兵法:
程序设计思想的修炼。推荐阅读成熟的GUI和TCP/IP协议栈代码,体会其设计方法。
需求分析技术。
所在领域的专业技术。原理和算法,相关的国际和国家标准。

实战:
做项目,做大量的项目,前面所说才能真正为我所用。

如此,或可独当一面。

点击此处查看原文 >>

系统分类: 嵌入式   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(460)
总共 , 当前 /