您的位置:首页 > 编程语言 > C语言/C++

突破自己—电子工程师如何搞定VC++

2014-11-19 10:53 232 查看
(文章写于2006年)
做单片机开发也有好几年的时间,经常要用到串口通信。硬件调试的时候相当麻烦,要用串口调试工具发几十个字节的数据给下位机,下位机处理完后又要回应一大堆数据。如此这般反复测试,累死人!原因主要是数据不直观,自己要从回应的数据里面慢慢找出有用的数据,烦,烦,烦,比得了泌尿XXX…还烦!于是,下决心编个适合自己的调试软件。相信有不少人用过龚建伟博士的那个串口调试助手,简单的界面,实用的功能,咽,不错!我的目的就是想编写一个比它更多功能的程序。
       既然是自己所用,功能方面就应该做得灵活一些。当然,类似龚博士的通用调试功能肯定要有,收发十六进制或ASCII码是基本的功能。其实,我平常就需要有十几个功能按钮,按照我的要求发送特定的数据而已。接收方面,收到特定的数据时,做一些直观的显示,比如红色的指示灯,象数码管一样的时钟显示等。
从大学学习C语言开始,C一直是我最钟爱的语言。虽然在高中学过一年的Basic(当时还是中华学习机,不知道现在的大学生有没有听说过),但自从学习C以后,就不再用过。所以象VB之类的语言,压根儿不想使用,理由是控制不方面,好象不支持多线程吧(熟悉的朋友回答一下)。我选择了VC++6.0,C/C++编程毕竟还是主流。很多做电子的朋友以为C++很难学,其实不然。假如你做单片机时使用的是汇编语言,动则写过10几K的代码,那么请你相信自己,C++只不过是小菜一碟。以我个人之感觉,再没有比用汇编写程序更痛苦的事情了(曾经写过一个20多K的程序,累得喷血!!!)
要用VC++,最好先找一本C++的方面的书来看看,起码有一些类与面向对象的概念,我觉得如果你有C的经历,只要3天就够了(熟悉而已,不是精通)。大多数电子工程师不是专职的程序员,全部搞清楚才用VC++大可不必。然后找一本VC++方面的书来模仿做一些简单程序,重点使用MFC(API等你熟悉MFC以后再说吧)。我认为VC的学习要点是,理解MFC的文档/视图结构(单文档),大概知道就行,如果要跟踪所有的函数调用过程要能要花很多时间; 消息映射,要学会如何使用自定义的消息映射;其次是基于对话框的程序应用。其它的,有时间再慢慢看。这时候,你可以找一些demo程序来试试手,比如龚建伟博士写的《串口调试助手源程序1,2》,写得非常好!只要按照他的步骤一步一步做,就可以很快速的使用VC++控制串口的操作。这是一个基于控件的程序,所以用起来相当简单!
而我不喜欢使用控件来操作,于是在google上狂搜索,找到了一个老外写的串口类(SerialPort),很好用!它内部使用独立的线程来监听串口,并且可以多串口操作。比VC自带的串口控件强大得多。建议你也用用,还可以学习一下Windows
API调用和多线程的工作原理。哈哈!还等什么!?
最后提一下界面的操作,比如显示一些象发光二极管的效果(周立功公司的上位机调试软件也有类似功能,模仿数码管显示时间)。其实蛮简单,就以LED来说吧,你做2个ICON,一个红色,一个黑色,在对话框上拖个Picture控件进来,只要在程序里面把ICON绑定到Picture控件即可。例如,按一下按钮,就显示红色,可以在按钮的响应函数里面把红色的ICON绑定到Picture控件,那么它就显示出来啦。是不是很简单?哈哈,如果我模仿周立功公司的调试软件做一个完全一样的,然后去周立功公司应聘程序员,不知有没有可能被录用?开玩笑而已。
写此文的目的,无非是以我之经历建立起大家学习VC++的信心,请你相信自己,作为电子工程师的你也同样可以完全搞定VC。说不定,你的下一份工作就是程序员哩。
(快下班了,收拾东西,回去买菜做钣喝啤酒。你知道,广州的交通过了六点以后全城大塞车!)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  串口通迅 VC++