4712|9

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince s3c2440使用COM1读写都很正常,但是COM3、COM4不行 [复制链接]

COM3、COM4是可以打开的。但是发送数据异常,没有看到数据输出。一开始是死在了WriteFile上面,后来我加入了超时间隔等参数,可以返回,但是写数据就失败了。有谁遇到过这样的问题吗?
此帖出自WindowsCE论坛

最新回复

调试发现数据发到了FIFO,而且也达到了设置的深度,不过没有触发中断。后来使用别人来的串口驱动修改,就可以了。对比一下,主要是因为时钟源和分频倍数,以及流控的问题。  详情 回复 发表于 2010-4-22 20:32
点赞 关注
 

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
COM4?楼主外扩的串口?
此帖出自WindowsCE论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
可以贴段代码看看
串口参数设置的都正确吗
驱动有没有问题。
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(高级)

4
 
2440 没有com4

请搜索飞凌的2440 串口驱动代码很好用。

楼主说的com4 估计是红外的那个,其实和com3 复用的。
此帖出自WindowsCE论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

5
 
COM4我也很疑惑,不过是可以打开的。内核占用了COM2(这个占用已经不是硬件上的串口占用)。cpu的三个串口不是对应于COM1(跟内核调试共用的)、COM3和COM4吗?不过串口注册表上我确实没有看到有COM4的注册表,但是有COM3的,这个也不正常呀。以下是注册表,各位看看:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; UART0 (physical COM1 connector P1) (Serial)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
IF BSP_NOSERIAL !
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SER2440]
        "DeviceArrayIndex"=dword:0
        "Irq"=dword:03
        "IoBase"=dword:50000000
        "IoLen"=dword:2C
        "Prefix"="COM"
        "Dll"="SER2440.Dll"
        "Order"=dword:1
        "Priority"=dword:0
        "Port"="COM1:"
        "DeviceType"=dword:0  ; null modem
        "FriendlyName"="S2440 COM1"
;        "Index"=dword:2
        "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"
ENDIF BSP_NOSERIAL !

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SER2440\Unimodem]
        "Tsp"="Unimodem.dll"
        "DeviceType"=dword:0
        "FriendlyName"="SER2440 UNIMODEM"
        "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00, 00,00, 08, 00, 00, 00,00,00,00

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; UART1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
IF BSP_NOSERIAL !
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SER2440_1]
        "DeviceArrayIndex"=dword:1
        "Irq"=dword:17
        "IoBase"=dword:50004000
        "IoLen"=dword:2C
        "Prefix"="COM"
        "Dll"="SER2440.Dll"
        "Order"=dword:3
        "Priority"=dword:0
        "Port"="COM2:"
        "DeviceType"=dword:0  ; null modem
        "FriendlyName"="S2440 COM2"
;        "Index"=dword:2
        "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"
ENDIF BSP_NOSERIAL !

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SER2440_1\Unimodem]
        "Tsp"="Unimodem.dll"
        "DeviceType"=dword:0
        "FriendlyName"="SER2440 UNIMODEM"
        "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00, 00,00, 08, 00, 00, 00,00,00,00

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; UART2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
IF BSP_NOSERIAL !
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SER2440_2]
        "DeviceArrayIndex"=dword:2
        "Irq"=dword:18
        "IoBase"=dword:50008000
        "IoLen"=dword:2C
        "Prefix"="COM"
        "Dll"="SER2440.Dll"
        "Order"=dword:4
        "Priority"=dword:0
        "Port"="COM3:"
        "DeviceType"=dword:0  ; null modem
        "FriendlyName"="S2440 COM3"
;        "Index"=dword:2
        "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"
ENDIF BSP_NOSERIAL !

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SER2440_2\Unimodem]
        "Tsp"="Unimodem.dll"
        "DeviceType"=dword:0
        "FriendlyName"="SER2440 UNIMODEM"
        "DevConfig"=hex: 10,00, 00,00, 05,00,00,00, 10,01,00,00, 00,4B,00,00, 00,00, 08, 00, 00, 00,00,00,00
应用程序打开代码如下:
打开串口
        m_hPort = CreateFile(s2w(sPortName).c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
        if(INVALID_HANDLE_VALUE==m_hPort)
        {
                return false;
        }
        DCB PortDCB;
        PortDCB.DCBlength = sizeof(DCB);
        if(!GetCommState(m_hPort, &PortDCB))
        {
                Close();
                return false;
        }
        PortDCB.BaudRate = nBaundRate;
        PortDCB.ByteSize = nDataBits;
        switch(cParity)
        {
        case 'N':
                PortDCB.Parity = NOPARITY;
                break;
        case 'E':
                PortDCB.Parity = ODDPARITY;
                break;
        case 'O':
                PortDCB.Parity = EVENPARITY;
                break;
        }
        switch(nStopBits)
        {
        case 1:
                PortDCB.StopBits = ONESTOPBIT;
                break;
        case 2:
                PortDCB.StopBits = TWOSTOPBITS;
                break;
        }
        //if("COM3:"==sPortName || "COM4:"==sPortName)
        //{
                //PortDCB.fOutxCtsFlow = TRUE;
                //PortDCB.fRtsControl = RTS_CONTROL_HANDSHAKE;
                //PortDCB.fOutxDsrFlow = FALSE;
                //PortDCB.fDtrControl = DTR_CONTROL_ENABLE;
                //PortDCB.fRtsControl = RTS_CONTROL_DISABLE;
                //PortDCB.fDtrControl = DTR_CONTROL_DISABLE;
        //}
        //else
        {
                //PortDCB.fRtsControl = RTS_CONTROL_ENABLE;
                PortDCB.fDtrControl = DTR_CONTROL_ENABLE;
        }

        if(!SetCommState(m_hPort, &PortDCB))
        {
                Close();
                return false;
        }
        COMMTIMEOUTS CommTimeouts;
        CommTimeouts.ReadIntervalTimeout = 100;  
        CommTimeouts.ReadTotalTimeoutMultiplier = 100;  
        CommTimeouts.ReadTotalTimeoutConstant = 500;   
        CommTimeouts.WriteTotalTimeoutMultiplier = 100;  
        CommTimeouts.WriteTotalTimeoutConstant = 500;
        /*
        CommTimeouts.ReadIntervalTimeout = MAXDWORD;  
        CommTimeouts.ReadTotalTimeoutMultiplier = 0;  
        CommTimeouts.ReadTotalTimeoutConstant = 0;   
        CommTimeouts.WriteTotalTimeoutMultiplier = 0;  
        CommTimeouts.WriteTotalTimeoutConstant = 0;
        */
        if(!SetCommTimeouts(m_hPort, &CommTimeouts))
        {
                Close();
                return false;
        }
        if(!PurgeComm(m_hPort, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR))
        {
                Close();
                return false;
        }
发送数据:
bool CSerialPort::Send(const char * pData, size_t uDataSize)
{
        if(INVALID_HANDLE_VALUE==m_hPort || pData == NULL)
                return false;
        size_t uPos = 0;
        DWORD dwNumberOfBytesWritten = 0;
        while(uPos < uDataSize)
        {
                if(!WriteFile(m_hPort, pData + uPos, uDataSize - uPos, &dwNumberOfBytesWritten, NULL))
                {
                        break;
                }
                if (dwNumberOfBytesWritten == 0)                //一个数据都没有写进去,也跳出了
                {
                        break;
                }
                uPos += dwNumberOfBytesWritten;
        }
        return uPos==uDataSize;
}
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 
下面是调试输出信息(打开串口驱动调试信息的):
16:02:28.593 SetBaudRate -> 115200
16:02:28.593 -SL_SetbaudRate 0x58480 (115200 Baud)
16:02:28.593 +SL_SetByteSize 0x58480, 0x8
16:02:28.593 -SL_SetByteSize 0x58480
16:02:28.593 +SL_SetStopBits 0x58480, 0x0
16:02:28.609 -SL_SetStopBits 0x58480
16:02:28.609 +SL_SetParity 0x58480, 0x0
16:02:28.609 -SL_SetParity 0x58480
16:02:28.609 ClearPendingInts
16:02:28.609 SL_PostInit
16:02:28.625 ClearPendingInts
16:02:28.625 ReadLSR
16:02:28.625 Line Status Register : 0x0
16:02:28.625 +SL_PurgeComm 0x8
16:02:28.625 SL_SetDCB : BaudRate is 115200
16:02:28.625 SL_SetDCB : Set ByteSize is 8
16:02:28.640 SL_SetDCB : Set Parity is 0
16:02:28.640 SL_SetDCB : Set StopBits is 0
16:02:28.656 -SL_SetDCB 0x58480
16:02:28.656 +SL_ClearDTR, 0x58480
16:02:28.656 UseIrDA, 0
16:02:28.671 -SL_ClearDTR, 0x58480
16:02:28.671 +SL_ClearRTS, 0x58480
16:02:28.671 -SL_ClearRTS, 0x58480
16:02:28.687 +SL_SetCommTimeout 0x58480
16:02:28.687 -SL_SetCommTimeout 0x58480
16:02:28.687 +SL_PurgeComm 0xF
16:02:28.687 SL_TxIntrEx
16:02:28.703 SL_TxIntrEx : 9
16:02:28.703 SL_TxInt - *pTxBuffer = 0x74
16:02:28.703 SL_TxInt - *pTxBuffer = 0x74
16:02:28.718 SL_TxInt - *pTxBuffer = 0x74
16:02:28.718 SL_TxInt - *pTxBuffer = 0x74
16:02:28.718 SL_TxInt - *pTxBuffer = 0x74
16:02:28.718 SL_TxInt - *pTxBuffer = 0x74
16:02:28.734 SL_TxInt - *pTxBuffer = 0x74
16:02:28.734 SL_TxInt - *pTxBuffer = 0x74
16:02:28.734 SL_TxInt - *pTxBuffer = 0xd
16:02:28.750 INT_uar2------
16:02:28.750 INT_uar2  Txd------
16:02:28.750 SL_GetInterruptType : 0xE940BF4D, 0x69A, 0x8800, 0x92, 0x0, 0x1
16:02:28.750 SL_GetInterruptType: INTR_TX
16:02:28.750 SL_TxIntrEx
16:02:28.765 SL_GetInterruptType : 0xE940BF4D, 0x69A, 0x800, 0x92, 0x0, 0x0
16:02:28.765 SL_GetInterruptType: INTR_NONE(pHWHead->bINT)
16:02:28.765 SL_TxIntrEx
16:02:28.765 SL_TxIntrEx : 9
16:02:28.765 SL_TxInt - *pTxBuffer = 0x74
16:02:28.765 SL_TxInt - *pTxBuffer = 0x74
16:02:28.765 SL_TxInt - *pTxBuffer = 0x74
16:02:28.781 SL_TxInt - *pTxBuffer = 0x74
16:02:28.781 SL_TxInt - *pTxBuffer = 0x74
16:02:28.781 SL_TxInt - *pTxBuffer = 0x74
16:02:28.781 SL_TxInt - *pTxBuffer = 0x74
16:02:28.781 SL_TxInt - *pTxBuffer = 0x74
16:02:28.781 SL_TxInt - *pTxBuffer = 0xd
16:02:28.796 GET_DESCRIPTOR:DEVICE 0x12, 0x40
16:02:28.796 SET_ADDRESS - 0x1
16:02:28.796 GET_DESCRIPTOR:DEVICE 0x12, 0x12
16:02:28.796 GET_DESCRIPTOR:CONFIGURATION
16:02:28.812 GET_DESCRIPTOR:CONFIGURATION
16:02:28.812 GET_DESCRIPTOR:DEVICE 0x12, 0x12
16:02:28.812 GET_DESCRIPTOR:CONFIGURATION
16:02:28.812 SET_CONFIG 1
16:02:28.984 AUTORAS:: Dialer notifies: [1] [Dialer Start]
16:02:29.734 SL_TxIntrEx
16:02:29.734 SL_TxIntrEx : 9
16:02:29.734 SL_TxInt - *pTxBuffer = 0x74
16:02:29.734 SL_TxInt - *pTxBuffer = 0x74
16:02:29.750 SL_TxInt - *pTxBuffer = 0x74
16:02:29.750 SL_TxInt - *pTxBuffer = 0x74
16:02:29.750 SL_TxInt - *pTxBuffer = 0x74
16:02:29.765 SL_TxInt - *pTxBuffer = 0x74
16:02:29.765 SL_TxInt - *pTxBuffer = 0x74
16:02:29.765 SL_TxInt - *pTxBuffer = 0x74
16:02:29.765 SL_TxInt - *pTxBuffer = 0xd
16:02:30.546 Posting WM_NETCONNECT(TRUE) message
16:02:30.609 AUTORAS:: Dialer notifies: [4] [Dialer Connected]
16:02:30.921 SL_TxIntrEx
16:02:30.921 SL_TxIntrEx : 9
16:02:30.921 SL_TxInt - *pTxBuffer = 0x74
16:02:30.984 SL_TxInt - *pTxBuffer = 0x74
16:02:30.984 SL_TxInt - *pTxBuffer = 0x74
16:02:30.984 SL_TxInt - *pTxBuffer = 0x74
16:02:30.984 SL_TxInt - *pTxBuffer = 0x74
16:02:31.000 SL_TxInt - *pTxBuffer = 0x74
16:02:31.000 SL_TxInt - *pTxBuffer = 0x74
16:02:31.000 SL_TxInt - *pTxBuffer = 0x74
16:02:31.000 SL_TxInt - *pTxBuffer = 0xd
16:02:32.359 SL_TxIntrEx
16:02:32.359 SL_TxIntrEx : 9
16:02:32.359 SL_TxInt - *pTxBuffer = 0x74
16:02:32.359 SL_TxInt - *pTxBuffer = 0x74
16:02:32.375 SL_TxInt - *pTxBuffer = 0x74
16:02:32.375 SL_TxInt - *pTxBuffer = 0x74
16:02:32.421 SL_TxInt - *pTxBuffer = 0x74
16:02:32.421 SL_TxInt - *pTxBuffer = 0x74
16:02:32.421 SL_TxInt - *pTxBuffer = 0x74
16:02:32.421 SL_TxInt - *pTxBuffer = 0x74
16:02:32.437 SL_TxInt - *pTxBuffer = 0xd
16:02:32.734 OEMSetRealTime: Year: 2010, Month: 4, Day: 20, Hour: 16, Minute: 2, second: 31 rcnr=1h
16:02:32.734 OEMSetRealTime(register): Year: 10, Month: 4, Day: 20, Hour: 16, Minute: 2, second: 31 rcnr=1h
16:02:33.421 SL_TxIntrEx
16:02:33.421 SL_TxIntrEx : 9
16:02:33.421 SL_TxInt - *pTxBuffer = 0x74
16:02:33.421 SL_TxInt - *pTxBuffer = 0x74
16:02:33.437 SL_TxInt - *pTxBuffer = 0x74
16:02:33.437 SL_TxInt - *pTxBuffer = 0x74
16:02:33.437 SL_TxInt - *pTxBuffer = 0x74
16:02:33.437 SL_TxInt - *pTxBuffer = 0x74
16:02:33.453 SL_TxInt - *pTxBuffer = 0x74
16:02:33.453 SL_TxInt - *pTxBuffer = 0x74
16:02:33.453 SL_TxInt - *pTxBuffer = 0xd
16:02:34.359 SL_TxIntrEx
16:02:34.359 SL_TxIntrEx : 9
16:02:34.359 SL_TxInt - *pTxBuffer = 0x74
16:02:34.375 SL_TxInt - *pTxBuffer = 0x74
16:02:34.421 SL_TxInt - *pTxBuffer = 0x74
16:02:34.421 SL_TxInt - *pTxBuffer = 0x74
16:02:34.421 SL_TxInt - *pTxBuffer = 0x74
16:02:34.421 SL_TxInt - *pTxBuffer = 0x74
16:02:34.437 SL_TxInt - *pTxBuffer = 0x74
16:02:34.437 SL_TxInt - *pTxBuffer = 0x74
16:02:34.437 SL_TxInt - *pTxBuffer = 0xd
16:02:35.296 SL_TxIntrEx
16:02:35.296 SL_TxIntrEx : 9
16:02:35.296 SL_TxInt - *pTxBuffer = 0x74
16:02:35.359 SL_TxInt : Error : i = 600000
16:02:36.796 SL_TxIntrEx
16:02:36.796 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]
16:02:38.109 SL_TxIntrEx
16:02:38.109 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]
16:02:39.484 SL_TxIntrEx
16:02:39.484 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]
16:02:40.921 SL_TxIntrEx
16:02:40.921 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]
16:02:42.296 SL_TxIntrEx
16:02:42.296 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]
16:02:43.734 SL_TxIntrEx
16:02:43.734 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]
16:02:45.109 SL_TxIntrEx
16:02:45.109 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]
16:02:46.546 SL_TxIntrEx
16:02:46.546 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]
16:02:47.921 SL_TxIntrEx
16:02:47.921 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]
16:02:49.359 SL_TxIntrEx
16:02:49.359 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]
16:02:50.734 SL_TxIntrEx
16:02:50.734 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]
16:02:52.171 SL_TxIntrEx
16:02:52.171 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]
16:02:53.546 SL_TxIntrEx
16:02:53.546 SL_TxIntrEx: Not Send - rFifoStat[0x4000] TxFifoCnt[0x0]

应用程序上,我是用115200打开串口,然后循环发送"tttttttt\r"的
此帖出自WindowsCE论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

7
 
是不是注册表没设置好或者CreateFile的时候参数出错
此帖出自WindowsCE论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

8
 
我现在就是怀疑是注册表或者是驱动的问题了,但是没有对比呀。CreateFile参数没有错误呢。另外,我看了一下硬件文档,只有uart0和uart1有流控,uart2没有,不知道这个是否有影响(我的串口只是作为普通串口用)。同时我并没有屏蔽内核调试输出的,它跟COM1共用了,这个也没有出现问题。
此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 3 楼 gooogleman 的回复:

2440 没有com4

请搜索飞凌的2440 串口驱动代码很好用。

楼主说的com4 估计是红外的那个,其实和com3 复用的。

没有飞凌的BSP包,很是遗憾。贴一下调试信息,帮看看,是否能够找到原因(uart1对应的是COM3,uart2对应的是COM4):
16:11:15.953 SL_TxIntrEx : 7
16:11:15.953 SL_TxInt - *pTxBuffer = 0x74
16:11:15.968 SL_TxInt - *pTxBuffer = 0x74
16:11:15.968 SL_TxInt - *pTxBuffer = 0x74
16:11:15.968 SL_TxInt - *pTxBuffer = 0x74
16:11:15.968 SL_TxInt - *pTxBuffer = 0x74
16:11:15.968 SL_TxInt - *pTxBuffer = 0xd
16:11:15.968 SL_TxInt - *pTxBuffer = 0xa
16:11:15.968 INT_uar1------
16:11:15.984 INT_uart1 TX------0xE9403F4D,0x6C2
16:11:15.984 INT_uart1-1 TX------0xE9C03F4D,0x6D2
16:11:15.984 INT_uart1-2 TX------0xE9C03F4D,0x6D2
16:11:15.984 SL_GetInterruptType : 0xE9C03F4D, 0x6D2, 0x800800, 0x92, 0x0, 0x1
16:11:15.984 SL_GetInterruptType: INTR_TX
16:11:15.984 SL_TxIntrEx
16:11:16.000 SL_GetInterruptType : 0xE9C03F4D, 0x6D2, 0x800, 0x92, 0x0, 0x0
16:11:16.000 SL_GetInterruptType: INTR_NONE(pHWHead->bINT)
16:11:16.000 ::: SYSINTR_SERIAL1    OEMInterruptDone
16:11:16.109 SL_TxIntrEx
16:11:16.109 SL_TxIntrEx : 7
16:11:16.109 SL_TxInt - *pTxBuffer = 0x74
16:11:16.109 SL_TxInt - *pTxBuffer = 0x74
16:11:16.109 SL_TxInt - *pTxBuffer = 0x74
16:11:16.109 SL_TxInt - *pTxBuffer = 0x74
16:11:16.109 SL_TxInt - *pTxBuffer = 0x74
16:11:16.125 SL_TxInt - *pTxBuffer = 0xd
16:11:16.125 SL_TxInt - *pTxBuffer = 0xa
16:11:16.125 INT_uar1------
16:11:16.125 INT_uart1 TX------0xE9403F4D,0x6C2
16:11:16.125 INT_uart1-1 TX------0xE9C03F4D,0x6D2
16:11:16.125 INT_uart1-2 TX------0xE9C03F4D,0x6D2
16:11:16.140 SL_GetInterruptType : 0xE9C03F4D, 0x6D2, 0x800800, 0x92, 0x0, 0x1
16:11:16.140 SL_GetInterruptType: INTR_TX
16:11:16.140 SL_TxIntrEx
16:11:16.140 SL_GetInterruptType : 0xE9C03F4D, 0x6D2, 0x800, 0x92, 0x0, 0x0
16:11:16.140 SL_GetInterruptType: INTR_NONE(pHWHead->bINT)
16:11:16.140 ::: SYSINTR_SERIAL1    OEMInterruptDone

16:11:16.234 SL_TxIntrEx
16:11:16.250 SL_TxIntrEx : 7
16:11:16.250 SL_TxInt - *pTxBuffer = 0x74
16:11:16.250 SL_TxInt - *pTxBuffer = 0x74
16:11:16.250 SL_TxInt - *pTxBuffer = 0x74
16:11:16.250 SL_TxInt - *pTxBuffer = 0x74
16:11:16.265 SL_TxInt - *pTxBuffer = 0x74
16:11:16.265 SL_TxInt - *pTxBuffer = 0xd
16:11:16.265 SL_TxInt - *pTxBuffer = 0xa
16:11:17.453 SL_TxIntrEx
16:11:17.453 SL_TxIntrEx : 7
16:11:17.453 SL_TxInt - *pTxBuffer = 0x74
16:11:17.468 SL_TxInt - *pTxBuffer = 0x74
16:11:17.468 SL_TxInt - *pTxBuffer = 0x74
16:11:17.468 SL_TxInt - *pTxBuffer = 0x74
16:11:17.468 SL_TxInt - *pTxBuffer = 0x74
16:11:17.468 SL_TxInt - *pTxBuffer = 0xd
16:11:17.484 SL_TxInt - *pTxBuffer = 0xa
16:11:18.750 SL_TxIntrEx
16:11:18.750 SL_TxIntrEx : 7
16:11:18.765 SL_TxInt - *pTxBuffer = 0x74
16:11:18.765 SL_TxInt - *pTxBuffer = 0x74
16:11:18.765 SL_TxInt - *pTxBuffer = 0x74
16:11:18.765 SL_TxInt - *pTxBuffer = 0x74
16:11:18.781 SL_TxInt - *pTxBuffer = 0x74
16:11:18.781 SL_TxInt - *pTxBuffer = 0xd
16:11:18.781 SL_TxInt - *pTxBuffer = 0xa
上面是COM3的,COM4类似。可以看到,第一和第二次看似是对的。但是后面的就已经不可以了
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

10
 
调试发现数据发到了FIFO,而且也达到了设置的深度,不过没有触发中断。后来使用别人来的串口驱动修改,就可以了。对比一下,主要是因为时钟源和分频倍数,以及流控的问题。
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表