LABVIEW能否读写物理内存.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
熟悉 LABVIEW 的朋友们都知道,LABVIEW 提供了类似于汇编语言的 IN OUT 指令,可以直接操作计算机端口,这在一般编程语言中是禁止的, 体现了 LABVIEW 强大的硬件操控能力。 除了直接操作端口外,个别情况下我们可能会遇到直接读写物理内存的问题。 LABWINDOWS/CVI 提供了几个有关物理内存的函数,自然我们可以通过 CIN 或者 DLL, 使 LABVIEW 间接具有操控物理内存的能力,但这不是我们今天要探索的。 下面是 CVI 支持的 IO 端口操作函数和有关物理内存操作的函数列表和简单说明。过去一般的做法是把上述的函数封装成DLL 或者创建 CIN。 如果我们跟踪 LV 中的端口操作函数,可以发现 LV 中的 IN OUT 实际上也是通过调用一个DLL 中的函数,从函数名称上也应该是封装了上述的函数。 实际上,这个 DLL 文件包含了很多函数,只是没有直接向用户敞开,下面是隐藏的函数列表。 从 DLL 文件名称上看,该 DLL 文件应该是重新封装的打包 DLL.. 下面我们探索一下这些隐含的函数是否直接可用,由于直接操控物理内存,使用时要特别注意。看看 CVI 中 ReadFromPhysicalMemory 函数的原型定义。 经常使用计算机端口操作的朋友们可能经常会在BIOS 中查看计算机串口、并口的端口地址。COM1 和 COM2 的地址一般为 0X3F8 和 0X2F8,计算机并口的数据寄存器地址一般为 0X378,早期计算机也有 0X3BC 的情况。这些端口地址在计算机启动后,会直接映射到0X400 开始的一段内存空间上。DOS 时代可以直接通过 DEBUG 来查看,下面我们通过 读物理内存函数来验证一下这些函数是否可用。 从实验的结果上看,正确返回了 0X3F8 0X2F8 0X378,这说明了这些隐含的函数是完全可用的。这些函数使用时必须谨慎,下面给出读物理内存函数的详细配置,以防出现问题。 Input Byte From Port Input Word From Port Port IO  inp inpw Input Double Word From Port Output Byte To Port Output Word To Port Output Double Word To Port Physical Memory Access inpd outp outpw outpd Read From Physical Memory ReadFromPhysicalMemory Read From Physical Memory Ex ReadFromPhysicalMemoryEx Write To Physical Memory Write To Physical Memory Ex Map Physical Memory Unmap Physical Memory WriteToPhysicalMemory WriteToPhysicalMemoryEx MapPhysicalMemory UnMapPhysicalMemory 来源 /csxcs366/blog/11-01/202291_feba5.html

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档免费下

相关文档

相关课程推荐