分类:
2008-10-14 20:51:25
这次“创新杯”比赛中,我们做的是有关IC卡方面的,关于上位机程序的编写,已然两个多月,其中不断更改,不断重复以前的程序,可以这么说,我学MFC是在八月中学会的,后来的一个多月,只是不断重复没有一点长进。唉,觉得这样写程序有点对不起时间,也对不起自己。
一开始队长又没说上位机的具体要求,只是告诉我按照别人的写(这个“别人”是指我们的某位学长),我照做了,可以后来与单片机通信时发现,两者从根本上就是矛盾的,可能是我们沟通不够好,起先说好,我只负责上位机的编写,下位机他们搞定,可我老是觉得两者的通信――就是接口,会存在问题,但是我一说到这个“接口”,他们就说不用我管,他们搞定(唉,我的意见很少有采纳的时候),我只好写自己的程序了。
等我写完了,以为可以休息一下了,可以问题接踵而来,他们认为界面不好,不好操作,这个不能怪我的,我真正学写程序才几个月?我又没有看过软件方面的书。我只是照他们说的做,不好就改,我又改,这个时候,有关访问数据库和串口通信都懂一点点了,有了大概的思路,能很流畅地写了――这里我说一下,只要是我写程序,就一定要有一个整体的思路,这是很关键的。我们队就犯了个错误,一开始说搞这个东西的时候,还不清楚到底要搞成什么样子的,连个具体的操作都没有说,当时说是什么“全能管理系统”,我真服了,虽说这次比赛没有要求题目,但好像没有多少人会这样参加比赛的吧?
这样,我又改了几个版本,可还是不行,通信不行,我不知道下位机传给电脑的数据是什么样格式的数据,我是从串口中接收的,可一次接收完的,那也得分解出来,看一下哪些有用,哪些没有啊!后来终于达成一个协议,即规定下位机发送过来的格式,比如说有多少位,前几位是什么,而上位机只发卡的ID(这个ID是自定义的)给下位机等等,这样分解数据方便很多了,可是,这样写是跟以前的程序截然相反的,为何这么说?以前的版本是上位机主宰一切的,上位机接收从下位机传来的卡号,并和注册信息一起存入数据库中,再在上位机进行加钱,扣钱操作。现在是反过来,下位机外接一个4*4键盘,一切操作都在下位机中进行,上位机呢?只需发送与卡号相对应的ID即可,这就是前面说的“矛盾”,就是说以前写的根本就是行不通的,我的天呐,这不是在玩我吗?!
苦是在我,他们倒没有什么,这个题目本身的硬件电路很简单的,读卡器是在网上购买的集成模块,只需懂接口就行,而关键的就是上位机,我都不知写了多少个版本的程序,有时候调试时,一不小心弹出“Runtime Error”对话框,我很难弄明白是为什么,因为我对MFC了解不是很多。唉,我当时写着写着就一肚子气,他们又不懂写程序的烦,前文已说了,我后面的工作就是在重复以前的工作,因为后来修改时,增加数据库中几个字段,所以在访问数据库的代码都要修改,――是每次访问时候!队长说得轻松,说是直接COPY以前的错码,的确,我是有COPY,但不能直接运行成功啊!
后来我跟队长说了我的抱怨,他说他也不太清楚是怎么个具体操作法,说想到这样这样操作就告诉我,我真的很服了他,害得我到最后上交限期前一天通宵,他们通宵不关我事,我不想通宵,也不提倡通宵,可是……唉。
最终的作品没一点创新,只是会怎样对IC卡进行读写操作。整体来说,做得不好,不够实用,也不够技术。
这次比赛我是很恼火的,我觉得用不了这么长的时间来写个上位机程序,因为最终版本确实很简单,就是简简单单的访问数据库,发个数据给下位机,早知是这样,我为何这么勤奋地写?
不要说我抱怨多,我只是觉得浪费了不必要的时间来做无谓的事情是不值得的,就像不能因为电阻电容便宜就买很多,不管用得着用不着。同时也明白,有什么样的技术,搞什么样的作品。也不要做那些只留在想象中的东西。
上面的话我只跟极少几个能明白我苦衷的朋友说,很高兴还有人明白那种心情,真不枉跟他们朋友一场。
此文题目有“终结”二字,因为我不想再用“上述的方法”来参加比赛或别的。太不值了,之所以写出来,一来让大家认识一下李迟这人,二来发泄一下情绪。