80

帖子

0

TA的资源

一粒金砂(初级)

21
 
引用 19 楼 gooogleman 的回复:

引用 18 楼 waterdream0820 的回复:
就是设成了1byte也没又产生中断,但是读lsr的话,data ready位是置位的,另外ier的设置,bit0是置位了的,这一位是fifo中使能接收数据有效中断和超时中断的。不明白还有什么地方可以影响到中断的产生。


我以前老的4.2 的驱动修改过来的,现在我换成楼主标准5.0 的也出现类似的问题,调试了两天,无果,楼主一起努力……
大牛来了啊,我改的6.0的,跟5.0的倒是没什么差别吧,折腾了好久了

回复

60

帖子

0

TA的资源

一粒金砂(初级)

22
 
通过简单的流驱动发送接收,接收也没产生中断,但发送一个字节,能够读到一个字节的正确数据。有可能是芯片质量问题?放弃用中断了,准备用FIFO查询模式,有点疑问,这个函数
ReceiveInterruptHandler(PUCHAR pRxBuffer,ULONG *pBufflen)
是在
ULONG SerRxIntr(
         PVOID pHead,                // @parm Pointer to hardware head
         PUCHAR pRxBuffer,           // @parm Pointer to receive buffer
         ULONG *pBufflen             // @parm In = max bytes to read, out = bytes read
         )
{
    DEBUGMSG (ZONE_READ|ZONE_EVENTS,(TEXT("+SerRxIntr( 0x%X,0x%X,0x%X)\r\n"),
            pHead,pRxBuffer,(pBufflen!=NULL?*pBufflen:0)));
    DWORD dwReturn=0;
    CSerialPDD * pSerialPDD  = ( CSerialPDD * )pHead;
    if (pSerialPDD)
        dwReturn = pSerialPDD->ReceiveInterruptHandler(pRxBuffer,pBufflen);
    DEBUGMSG (ZONE_READ|ZONE_EVENTS,(TEXT("-SerRxIntr( 0x%X,0x%X,0x%X) return 0x%X\r\n"),
            pHead,pRxBuffer,(pBufflen!=NULL?*pBufflen:0),dwReturn));
    return dwReturn;
}
里面调用的,现在没弄明白通过查询模式,我应该怎么传递PUCHAR pRxBuffer,ULONG *pBufflen这两个参数?传递到哪里去才能够正常呢?看了好久,没找到源头。
在mdd的代码里面,COM_READ pTargetBuffer的值是通过
CeSafeCopyMemory (pTargetBuffer,RxBuffRead(pSerialHead), Len);得到的。
而在serpriv.h 中定义了
#define RxBuffRead(pSH)           (pSH->RxBufferInfo.RxCharBuffer+pSH->RxBufferInfo.Read)
#define RxRead(pSH)                   (pSH->RxBufferInfo.Read)
在COM_IOControl 中,
    case IOCTL_SERIAL_PURGE :  //清除制定的发送或接收缓冲内的数据         
pHWIHead->RxBufferInfo.Read = pHWIHead->RxBufferInfo.Write;
RxBufferInfo.Read的值是怎么得到的呢?我看到COM_READ中,执行了
CeSafeCopyMemory (pTargetBuffer,RxBuffRead(pSerialHead), Len);
       // Update Fifo info
            RxRead(pSerialHead) =
                (RxRead(pSerialHead)+ Len 如果用查询模式,该如何关联呢?


 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

23
 
路过看看..............
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

24
 
很久没来,出现了许多好的帖子,帮顶。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

25
 
我想请问一下做过VK3224的扩展串口驱动的老兄,你的驱动中对于VK3224 SPI口的SCS片选信号是硬件上一直拉低,还是用一根信号线进行控制,即只在传输数据时才将其拉低?
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

26
 
搞了几天,我的可以了,发现和硬件关系不是很大,修改不多。注意PXA270 的自带串口驱动 ,多多借鉴。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表