(inSky)

 找回密码
 立即加入

QQ登录

只需一步,快速开始

楼主: ppqq

我做的山寨仪表板-DIY进行中

[复制链接]
发表于 2009-7-29 04:28:56 | 显示全部楼层 |阅读模式
喜欢上模拟飞行有一年多了,自从偶尔看到外国网站上高手DIY硬件后,萌生了自己也DIY一下的热情,于是勉为其难地学习了单片机,编程,折腾了大半年,现在终于出了一点点成果了,发上自己DIY的SAITEK面板,目标是实现NAV COMM ALT HDG VS等数据的显示,修改,切换,当前只完成了显示,革命仍未成功.以后的日子我会慢慢将DIY的过程贴出来,特别了为了让有志于DIY的飞友能了解如何实现,我会尽量将硬件部分描述清楚,在FS2004做硬件外设主要用到了FSUIPC ,FSUIPC提供了所有数据的地址,通过编写接口程序,连接串口发送到单片机就能完成软硬件结合.下面先上一张面板,


哈哈,是不是很简陋,显示用的是字符型液晶LCD1602 ,左上角旋扭为脉冲编码器,通过旋转产生脉冲信号,送到单片机鉴别后就能用来进行频率\数值增减,中间的是旋转开关,通过它实现多路数据输入切换到一个LCD上显示.
来张背面


目前就到这,现在通过切换能显示NAV COMM AP .现在要解决的是修改某个显示数值的问题.有进展我会继续贴图

关于如何读取数据,下面我介绍一下
其实如何找游戏数据很简单.象FS2004,在FUSUIPC作者提供的SDK文档资料里面有很详细的说明.比如说我要读取当前NAV1的频率,查看文档就知道读0X350地址的数据就行.文档名称为:FSUIPC4 Offsets Status.pdf

然后可以利用SDK里面提供的例程,修改成自己的接口程序,比如说我用BCB的,读取一个NAV1就是
if (!FSUIPC_Read(0x0350, 2, &FSUIPC_FS_NAV1, &dwResult)||!FSUIPC_Process())  //读NAV1频率
  {
  }
               sprintf(String, "%x", FSUIPC_FS_NAV1 );
               Frequency_Format(String);
               FSDATA.dwNav1_ACT=s_adjfreq;
               Edit1->Text = FSDATA.dwNav1_ACT;
FSUIPC_Read就是作者提供的读取函数.
这是我做的接口程序


[ 本帖最后由 ppqq 于 2009-7-29 15:56 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即加入

x
回复

使用道具 举报

发表于 2009-7-29 05:40:40 | 显示全部楼层
强人哦!顶一个!这种东西要是量产了以合适的价格出售会有很不错的市场。
回复 支持 反对

使用道具 举报

发表于 2009-7-29 06:24:45 | 显示全部楼层
挺强的.很不错啊.
回复 支持 反对

使用道具 举报

发表于 2009-7-29 07:08:16 | 显示全部楼层
21世纪论坛最缺啥?人才!
回复 支持 反对

使用道具 举报

发表于 2009-7-29 11:45:08 | 显示全部楼层
呵呵,强烈支持!
回复 支持 反对

使用道具 举报

发表于 2009-7-29 11:56:28 | 显示全部楼层
楼主怎样找的游戏运行时的数据[s:22]
分享一下,在其他电子方面有需要的我可以帮点忙哦?
回复 支持 反对

使用道具 举报

发表于 2009-7-29 12:28:22 | 显示全部楼层
楼主很强大,而且善于分享。[s:22]
回复 支持 反对

使用道具 举报

发表于 2009-8-2 17:12:26 | 显示全部楼层
建议开个新版块了
回复 支持 反对

使用道具 举报

发表于 2009-8-3 21:41:58 | 显示全部楼层
支持原创
  支持DIY
回复 支持 反对

使用道具 举报

发表于 2009-8-11 02:53:43 | 显示全部楼层
天书哇!!还要编程……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

小黑屋|手机版|Archiver|(inSky)

GMT+8, 2025-4-30 09:09 , Processed in 0.030986 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表