majianjia 发表于 2011-12-5 22:54:08

【DEEP BLUE】最近考试太多,忙死了,抽时间为我的飞控板(Deep Blue)写了调试软件,顺便请教

这两个星期几乎什么都没做,只是为我的飞控板写的这个新的上位机,从前的上位机因为没有考虑到拓展性,放弃掉了。

这个新的上位机已经尽我的全力考虑了拓展性,飞控板和上位机之间的通讯协议也重新编写,并且还写了个doc文档,来专门说明协议。
这次是用C++ Builder 6来写的,因为我不熟C++,所以基本上都是用C语言写的,数据保存都用全局结构体,为了不同控件读取数据准备的。
串口控件是victor,试过MSCOMM,但是ole变量处理有点吃力,事件驱动方式没搞成。现在是用victor控件以定时器驱动,每1ms读取一次缓冲区,然后逐个字节去分析,做到了完全不丢帧。缓冲区用了双缓冲,分析数据完整后,就标志此缓冲区数据有效,然后发指针给分析函数处理就好了。双缓冲的作用是为了保证如果1ms内收到两帧数据的情况下,还能保证不丢帧。

STM32上,应该也可以用类似的方式来处理上位机发送的命令,不过我还没写这部分代码。
图表控件用的依然是teechart pro 8.0版本的。

现在通讯部分完全没问题了,波特率最高试过115200bps,没问题。

http://cache.amobbs.com/bbs_upload782111/files_48/ourdev_701895X586FC.jpg
V0.3版本的上位机 (原文件名:上位机.jpg)


还有一个问题是,我想把Google Earth 之类的API嵌入到我的程序里,但是在C++ Builer 6里面不知道怎么弄,导入后控件不能运行,图标显示是错的,拖到窗体上九报错。或者有其他的map控件可以推荐一下嘛?

查到MAPX,不知道如何?我是希望能用google earth ,因为有卫星地图,网上资料也比mapX多一点,但是不知怎么在BCB上弄。纠结死了。之后两周都要忙着复习考试,没时间做了。

【DEEP BLUE】飞行器的开源帖子,都没时间做了,郁闷。
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5175887&bbs_page_no=2&bbs_id=1025

binaimei2007 发表于 2011-12-5 23:30:35

楼主是我的榜样,顶你。

jmp2002911 发表于 2011-12-6 08:07:23

小马同学有毅力,有能力,赞一个,考完试利用寒假好好做做

zht9961020 发表于 2011-12-6 08:21:17

up

majianjia 发表于 2011-12-6 10:04:46

谢谢楼上各位支持~~


回复【2楼】jmp2002911
-----------------------------------------------------------------------
另外~我姓“麻”,不是“马”

nirvanasyl 发表于 2011-12-6 10:58:55

膜拜楼主
页: [1]
查看完整版本: 【DEEP BLUE】最近考试太多,忙死了,抽时间为我的飞控板(Deep Blue)写了调试软件,顺便请教