阅读:1037回复:12
很急的问题,高分求助
在内核模式下运算出来的数据怎么在示波器上显示出来?比如在内核中加载了一个计算SIN值的小程序,怎么样能在示波器上显示出来呢?哪位大侠能教教我(稍微详细点就行)?万分感谢!!!!
|
|
沙发#
发布于:2005-01-21 19:26
在内核模式下运算出来的数据怎么在示波器上显示出来?比如在内核中加载了一个计算SIN值的小程序,怎么样能在示波器上显示出来呢?哪位大侠能教教我(稍微详细点就行)?万分感谢!!!! 这个怎么在示波器上显示,又不是控制了什么硬件设备 |
|
|
板凳#
发布于:2005-01-21 19:30
说明一下,一定要加硬件吗?
我现在有一块D/A卡,那么是不是还要开发一个驱动程序才行啊?还是可以用卡本来自带的驱动? |
|
地板#
发布于:2005-01-21 19:35
说明一下,一定要加硬件吗? 如果卡本身有,就是用本身的吧 除非不能满足你要求 |
|
|
地下室#
发布于:2005-01-21 19:39
我的意思是在内核模式下怎么利用卡本身自带的驱动呢。如果我可以得到它的基地址的话,可不可以这样:_outp(baseaddress,sin(x));
进行操作呢? |
|
5楼#
发布于:2005-01-21 19:44
我的意思是在内核模式下怎么利用卡本身自带的驱动呢。如果我可以得到它的基地址的话,可不可以这样:_outp(baseaddress,sin(x)); 驱动中不能调用outp 应用程序中2000下也不能直接调用outp 驱动中使用WRITE_PORT_BUFFER_UCHAR、WRITE_PORT_BUFFER_ULONG、WRITE_PORT_BUFFER_USHORT等。 |
|
|
6楼#
发布于:2005-01-21 19:47
如果不是驱动程序该该用什么函数呢?因为我的程序是在用户模式下开发的,然后加载到内核模式。。。郁闷中。。。
|
|
7楼#
发布于:2005-01-21 19:54
如果不是驱动程序该该用什么函数呢?因为我的程序是在用户模式下开发的,然后加载到内核模式。。。郁闷中。。。 你怎么把用户模式怎么加到内核模式的? 其实对端口操作很简单,为什么要这么麻烦?不明白 |
|
|
8楼#
发布于:2005-01-21 20:09
那你能说说如果我在内核模式下(不是驱动程序例程)怎么对端口直接进行操作?具体怎么做?最好给我一个简单的例子好吗?高分奉上。
|
|
9楼#
发布于:2005-01-21 20:33
那你能说说如果我在内核模式下(不是驱动程序例程)怎么对端口直接进行操作?具体怎么做?最好给我一个简单的例子好吗?高分奉上。 驱动中使用WRITE_PORT_BUFFER_UCHAR、WRITE_PORT_BUFFER_ULONG、WRITE_PORT_BUFFER_USHORT等函数,具体看ddk中 src下general的portio,它讲了端口和内存操作的具体实现。 |
|
|
10楼#
发布于:2005-01-21 20:38
以前在98下搞过D/A,直接访问地址,
在2000下,我想使用WinIO可以满足要求的 |
|
|
11楼#
发布于:2005-01-22 09:44
你可以2K下把你的应用层IO的函数指针传到RING0执行,由于在同一个CONTEXT中,所以完全可以在RING0执行RING3的函数(不要调用其他RING3系统函数).
|
|
|
12楼#
发布于:2005-01-23 10:55
你可以2K下把你的应用层IO的函数指针传到RING0执行,由于在同一个CONTEXT中,所以完全可以在RING0执行RING3的函数(不要调用其他RING3系统函数). 对于新手这样操作不是很好,万一出现问题调试会是件棘手的事 所以我不检验使用这样的非常规方法(当然没有其它常规办法另当别论)。 |
|
|