| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 665 人关注过本帖
标题:Port_W &H30B, DO_1 这是什么意思
只看楼主 加入收藏
梦千殇
Rank: 2
等 级:论坛游民
帖 子:49
专家分:19
注 册:2015-1-6
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:7 
Port_W &H30B, DO_1 这是什么意思
Public Declare Function Port_R Lib "dlportio.dll" Alias "DlPortReadPortUchar" (ByVal Port As Long) As Byte
Public Declare Sub Port_W Lib "dlportio.dll" Alias "DlPortWritePortUchar" (ByVal Port As Long, ByVal value As Byte)


Public Sub TD_by_1()
    Port_W &H303, DO_4
    Port_W &H30B, DO_4
End Sub
Public Sub TD_cfZP()
    Port_W &H303, DO_0 + DO_4  
  '  Port_W &H30B, DO_4
    Call D_A(3.8)
    'Port_W &H303, DO_1 + DO_4
End Sub
Public Sub TD_pf()
    Port_W &H303, DO_1 + DO_4
    Port_W &H30B, DO_4
    Port_W &H30B, 0
End Sub
Public Sub TD_pfZP()
    Port_W &H303, DO_1 + DO_4
   
    Call D_A(3.8)
End Sub
Public Sub TD_pfm()
    Port_W &H303, DO_7
End Sub




这是一个NI数据采集卡vb6.0 模块程序的一部分,不明白这是什么意思?比如:
    Port_W &H303, DO_1 + DO_4
    Port_W &H30B, DO_4
    Port_W &H30B, 0

这三条语句,各是什么意思,能实现什么功能?请大神指教,谢谢,不胜感激!
2015-08-10 11:55
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
Port_W = DlPortWritePortUchar   向端口写数据

    Port_W &H303, DO_1 + DO_4
端口地址:&H303
数据:DO_1 + DO_4

如果你要了解 &H303 是什么端口,,这个数据表示什么意思,
请参阅,《微型计算机原理》和 《汇编程序设计》 两部高深知识的书吧。

授人于鱼,不如授人于渔
早已停用QQ了
2015-08-10 13:58
梦千殇
Rank: 2
等 级:论坛游民
帖 子:49
专家分:19
注 册:2015-1-6
收藏
得分:0 
回复 2楼 风吹过b
Public Const DO_0 = 2 ^ 0
Public Const DO_1 = 2 ^ 1
Public Const DO_2 = 2 ^ 2
Public Const DO_3 = 2 ^ 3
Public Const DO_4 = 2 ^ 4
Public Const DO_5 = 2 ^ 5 ,
Public Const DO_6 = 2 ^ 6
Public Const DO_7 = 2 ^ 7 '定义D/O采集版的输出通道7

DO_4等 是这样定义的,这个应该是通道吧,&H303这个不知道是什么 这是数据采集卡中的程序。
2015-08-10 14:27
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:20 
&H303  是端口地址,具体对应哪个端口,请查 微型计算机原理

DO_0  这些是数据,在代码中就可以看得出来。

--------理解下面的内容,需要涉及初步的微型计算机原理和汇编内容------------
Public Const DO_0 = 2 ^ 0    = 00000001(2)
Public Const DO_1 = 2 ^ 1    = 00000010(2)
Public Const DO_2 = 2 ^ 2    = 00000100(2)
板与端口之间连线,数据总线是 8 根,编号是 0-7 ,第几号线为高电平,那么采集版就在第几通道上输出。
为什么定义常量,是使程序可读。

DO_1 + DO_4    就是第1号线和第4号线上输出。

授人于鱼,不如授人于渔
早已停用QQ了
2015-08-10 15:13
梦千殇
Rank: 2
等 级:论坛游民
帖 子:49
专家分:19
注 册:2015-1-6
收藏
得分:0 
回复 4楼 风吹过b
你好,这是我程序的截图,截图中中的程序如果按照你说的理解的话,只有&H303和&H30B两个通道,
图片附件: 游客没有浏览图片的权限,请 登录注册
要实现这么多不同的动作,是不可取的吧,不知道是不是我理解的和您理解的有出入,谢谢
2015-08-10 16:05
梦千殇
Rank: 2
等 级:论坛游民
帖 子:49
专家分:19
注 册:2015-1-6
收藏
得分:0 
回复 4楼 风吹过b
我查到端口对 “300H-31FH”的说明为“ 原形卡”,原形卡是什么意思?不是很明白,谢谢。
2015-08-10 16:18
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
首先,计算机的物理端口号有是限的,
如 LPT口,一般只有1个。
如 COM 口,一般也只有 2个。
虚拟端口号也是有固定数目的,你这里面可以不用考虑,

外接设备,与 计算机通讯,一般只占用一个端口。
原形卡,我没学过,所以不太懂这个,我感觉就是 插在机器内部的板卡的端口地址。
    然后板卡与在计算机启动初始化时,告诉 BIOS ,它在哪个地址上开放端口。

根据你的代码和注释,感觉这个上面有二个步进电机,那么我理解代码就是:
Public Sub TD_by_1()
    Port_W &H303, DO_4                   '第一个步进电机,写入 00010000,会转动
    Port_W &H30B, DO_4                   '第二个步进电机,写入 00010000,会转动
End Sub

Public Sub TD_pf()
    Port_W &H303, DO_1 + DO_4            '第一个步进电机,写入 00010001 ,转动
    Port_W &H30B, DO_4                   '第二个步进电机,写入 00010000 ,转动
    Port_W &H30B, 0                      '第二个步进电机,写入 00000000 ,停止,这里感觉有问题。
End Sub

这全是汇编里的知识啊。汇编,我只会一点点,这方面你得去看 计算机原理 和 单片机 的知识,才能理解。

步进电机还有正转和反转。看代码里: Do_5 好像就是反转。

授人于鱼,不如授人于渔
早已停用QQ了
2015-08-10 16:51
梦千殇
Rank: 2
等 级:论坛游民
帖 子:49
专家分:19
注 册:2015-1-6
收藏
得分:0 
回复 7楼 风吹过b
谢谢您的耐心指导,我基本已经懂了怎么回事了,谢谢了!!!
2015-08-11 10:21
快速回复:Port_W &H30B, DO_1 这是什么意思
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024120 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved