⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_48176.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:48176 发表者:桎梏 发表日期:2003-07-29 08:39:59
<br>主题:请教VC编写数据采集卡中用的_inp()和_outp()函数?
<br>内容:请问用VC编写数据采集卡的程序中有个_inp(),_outp()函数<BR>其里面的数据格式是十进制,还是十六进制的啊?<BR>_outp(0x3fb,0x80);<BR>_outp(OX378,1);<BR><BR>我看到有上面两种写法,如果是十进制的话<BR>那第一种就不应该有0x3fb字母形式的啊?<BR>请高手指点<BR>谢谢!<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:charle888 回复日期:2003-07-29 10:41:13
<br>内容:都是十六进制的。这些值代表是该端口的物理地址。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:桎梏 回复日期:2003-07-29 10:48:04
<br>内容:谢谢charle888 的解答!<BR><BR>_outp(0x3fb,0x80);<BR>_outp(OX378,1);<BR><BR>后一个语句的第二个参数好象是10进制的吧<BR>不知道能否都用10进制的呢?<BR>这样采集到的数据不需要太多转换<BR>不然的话就太复杂了吧
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:万能万万不能 回复日期:2003-07-29 10:52:58
<br>内容:呵呵.<BR>是不是hex, 只须看有没有0x前缀.那个1当然是10进制.<BR>C语法不过关啊.呵呵, 看看语法书,这是基本语法,语法书上都会有的.<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:徐强军 回复日期:2003-07-29 11:03:05
<br>内容:肯定是16进制了<BR>你写代码的时候,将10进制传入,也是可以的,vc可以帮你转换的。 
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:charle888 回复日期:2003-07-29 11:05:51
<br>内容:卡能够认识的数据都是十六进制的。其实后面那个参数因为没有超过16,所以表示一样。你要输入以及读出的都是十六进制。后面那个参数只是现象。我说的这些是地址。它们的初始值与硬件芯片有关。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:charle888 回复日期:2003-07-29 11:10:01
<br>内容:这些参数你都可以用十进制输入。效果是一样的。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:桎梏 回复日期:2003-07-29 11:26:28
<br>内容:前面是地址(如通道号和基地址),这个用16进制的不太麻烦<BR>关键是采集和输出的数据如果是16进制的话还需要转换啊<BR>假如用int data=_inp(0x100)的话,那得到的data究竟是什么格式的啊?<BR>是10进制还是16进制的呢?<BR><BR>如果我要给DA通道一个10mA的电流<BR>我是否可以直接用_outp(Ox100,10)呢?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:charle888 回复日期:2003-07-29 11:30:39
<br>内容:可以,效果一样。如果你的数据定义十进制。读出来的一样。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:万能万万不能 回复日期:2003-07-29 12:11:26
<br>内容:hex只是一种表示形式,反映的是内存中的同一个数.不需要转换
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:桎梏 回复日期:2003-07-29 12:20:24
<br>内容:谢谢各位兄台的热心解答!<BR><BR>你们几个都帮忙了,<BR>分数好象只能给一个人<BR>给谁呢?<BR>我不知道该怎么办啊?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:charle888 回复日期:2003-07-29 16:06:52
<br>内容:分数这种问题。你觉得谁先告诉你正确答案你就给谁了:)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:sdf 回复日期:2003-07-30 16:28:45
<br>内容:charle888 :<BR><BR>&nbsp;&nbsp; 我遇见一个问题,就是_inp()和_outp()的问题,这两个函数在win98下用得挺好的,但在win2000环境下由于系统安全性的原因,不允许直接对串口进行操作,我修改别人的程序,他在98下做的,现在我想使软件兼容,你有什么好的办法吗?我不想用win Api函数,因为那样要改动的地方太多了,做驱动程序的思路是什么?我在网上见到有这样的专门的驱动软件,用了后也可以,但我想自己编写一个,另,别人的软件是要钱的,
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:charle888 回复日期:2003-07-31 14:38:11
<br>内容:这个问题涉及到windows安全访问的问题。我没有做过在winnt,以及win2000下的_inp(),_out()的操作。我的程序都是在win98下写的和用的。<BR>不过要写这个驱动,我觉得应该先了解winnt以及win2000的安全特性。winnt以及win2000的程序工作在几种安全模式中。我觉得这个驱动主要考虑模式转换。我觉得写这个驱动比较复杂。下面一段内容可能对你有帮助:<BR>Windows NT assigns some privileges and restrictions to different types of programs running on it.It classifies all the programs in to two categories , User mode and Kernel mode ie; running in ring3 and ring0 modes. user mode programs are running in ring3 mode and Kernel mode programs are running in ring0 mode. The programs you generally write falls in the user mode category. The user mode programs are restricted to use certain instructions like IN, OUT etc.. Whenever the operating system find that a user mode program is trying to execute such instructions , the operating system stops execution of those programs and will display an error message. Eventually our interfacing programs stops where they are executing IN or OUT instructions to read or write data to parallel port. But in the same time Kernel mode programs are in no way restricted in executing such instructions. Device drivers are capable of running in kernel mode. So the workaround for the above stated problem is to write a kernel mode driver capable of reading and writing data to parallel port and let the user mode program to communicate with it. Writing a driver is not an easy job for even experienced programmers. But writing a simple driver for communicating with parallel port is a simple task when drivers like USB, sound card etc。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:sdf 回复日期:2003-07-31 17:27:51
<br>内容:to charle888 :<BR>&nbsp;&nbsp; 谢谢你了,本来想给分你,但是别人提的问题,以后有机会回给你高分的。我现在打算将别人的驱动软件放在我的软件中,使之可执行,应该可以,因为现在公司催得比较急.我也不知道如何写驱动程序,但我想应该不是很难
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -