-
你是要PCI中操作串口吗?
你用什么开发的DDK?DS?还是WDK啊?
PCI驱动获得PCI配置空间比较容易。
我认为在驱动里直接去打开Serial0,然后操作串口就可以了
建议你看看ddk的帮助。
Serial Device Control Requests
[This is preliminary documentation and subject to change.]
This section describes the following device control requests that Serial supports:
IOCTL_SERIAL_CLEAR_STATS
IOCTL_SERIAL_CLR_DTR
IOCTL_SERIAL_CLR_RTS
IOCTL_SERIAL_CONFIG_SIZE
IOCTL_SERIAL_GET_BAUD_RATE
IOCTL_SERIAL_GET_CHARS
IOCTL_SERIAL_GET_COMMSTATUS
IOCTL_SERIAL_GET_DTRRTS
IOCTL_SERIAL_GET_HANDFLOW
IOCTL_SERIAL_GET_LINE_CONTROL
IOCTL_SERIAL_GET_MODEM_CONTROL
IOCTL_SERIAL_GET_MODEMSTATUS
IOCTL_SERIAL_GET_PROPERTIES
IOCTL_SERIAL_GET_STATS
IOCTL_SERIAL_GET_TIMEOUTS
IOCTL_SERIAL_GET_WAIT_MASK
IOCTL_SERIAL_IMMEDIATE_CHAR
IOCTL_SERIAL_LSRMST_INSERT
IOCTL_SERIAL_PURGE
IOCTL_SERIAL_RESET_DEVICE
IOCTL_SERIAL_SET_BAUD_RATE
IOCTL_SERIAL_SET_BREAK_OFF
IOCTL_SERIAL_SET_BREAK_ON
IOCTL_SERIAL_SET_CHARS
IOCTL_SERIAL_SET_DTR
IOCTL_SERIAL_SET_FIFO_CONTROL
IOCTL_SERIAL_SET_HANDFLOW
IOCTL_SERIAL_SET_LINE_CONTROL
IOCTL_SERIAL_SET_MODEM_CONTROL
IOCTL_SERIAL_SET_QUEUE_SIZE
IOCTL_SERIAL_SET_RTS
IOCTL_SERIAL_SET_TIMEOUTS
IOCTL_SERIAL_SET_WAIT_MASK
IOCTL_SERIAL_SET_XOFF
IOCTL_SERIAL_SET_XON
IOCTL_SERIAL_WAIT_ON_MASK
IOCTL_SERIAL_XOFF_COUNTER
No other device control codes are supported.
I/O Status Block
The Information member is set to a request-specific value or to zero.
The Status member is set to a request-specific status value or to one of the following generic status values:
STATUS_SUCCESS
STATUS_BUFFER_SIZE_TOO_SMALL
The input or the output buffer is too small to hold the required information.
STATUS_CANCELLED
The client canceled the request. For all control codes other than IOCTL_SERIAL_GET_COMMSTATUS, Serial also cancels a request if a device error occurs and Serial is configured to cancel a request if there is a device error.
STATUS_DELETE_PENDING
There was an unrecoverable hardware error, or a Plug and Play remove or surprise remove operation is in progress.
STATUS_INVALID_DEVICE_REQUEST
The COM port is not open.
STATUS_INVALID_PARAMETER
The request parameters are not valid.
STATUS_PENDING
Serial queued the request for later processing.
STATUS_Xxx
An internal operation returned an NTSTATUS error status value.
If Serial does not support a device control request, it sets the Information member to zero and the Status member to STATUS_INVALID_PARAMETER.
-
void delay(uchar z)
{
uchar x,y;
for(x=0;x
-
我刚试过,还是一样的现象(发现一个问题),程序应驱除
if(RI==1)
{
},但有关复位的问题依旧.只是复位后LED灯不是原来的全熄灭,而是全亮.更不明白了.
下面用查询方式现象也是同样的!
#include
void mian()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM1=1;
REN=1;
EA=1;
ES=1;
while(1)
{
if(RI==1)
{
RI=0;
P1=SBUF;
}
}
}
-
非常感谢,支持楼主!