5920|19

61

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

串口驱动流接口函数疑问 [复制链接]

请问串口应用时,对用户开放的串口驱动流接口函数,就是MDD部分下的函数,包括COM_Init,COM_Deinit,COM_Open,COM_Close ,COM_Read ,COM_Write, COM_Seek,, COM_PowerUp, COM_PowerDown, COM_IOControl几个基本实现吗?
这里确认 一下,现在准备开始写串口驱动了。。

最新回复

是吗?那我也顶一把,只为这10分。。。。。。。  详情 回复 发表于 2008-10-31 09:14
点赞 关注

回复
举报

76

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
你用的是什么平台?PDD层的代码要全部重新写吗?
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
是的,LPC平台,是不是就我所说的?
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

4
 
LPC的平台我不熟悉,不过我建议你是不是参考一下PB Public下面的参考串口驱动,那里有不少驱动,找一个相近的过来修改修改
系统所需的所有的接口函数应该就是你上面所列出来的函数了
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
驱动我都看过了,我现在想问的是和驱动无关的,给驱动应用人员开放的函数,是不是就是我所说的那些函数
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

6
 
也就是说应用程序里的初始化函数,读写函数等是不是就是对应我所说的那些函数
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

7
 
应用开发人员根本不会直接调用这些函数的
用CreateFile打开串口,用这些函数对其进行操作
Windows CE Features > Core OS Services > Core OS Reference > Serial Communications Reference
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
串口发送/接收数据也至少得调用WriteFile/ReadFile这些函数吧,我想问的就是WriteFile/ReadFile是不是就对应COM_Read ,COM_Write
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

9
 
Windows CE Features > Core OS Services > Core OS Reference > Serial Communications Reference
这里边的那些函数我之前都看过了的,这些函数只是对串口系统设置相关的参数而已,并不是我们实际操作串口数据的函数
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 andylao62 的回复:
Windows CE Features > Core OS Services > Core OS Reference > Serial Communications Reference
这里边的那些函数我之前都看过了的,这些函数只是对串口系统设置相关的参数而已,并不是我们实际操作串口数据的函数

这些函数最终不都要调到串口的驱动
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 7 楼 andylao62 的回复:
串口发送/接收数据也至少得调用WriteFile/ReadFile这些函数吧,我想问的就是WriteFile/ReadFile是不是就对应COM_Read ,COM_Write

是要调用WriteFile/ReadFile来发送接收数据,找个最简单的串口AP来看看不就清楚了
后面的问题自己跟一下不就清楚了
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

12
 
可能是我理解错误吧,下边的代码就是串口发送数据函数
void CSerialPortDlg::OnSend()
{
        DWORD dwactlen;

        if (m_hComm == INVALID_HANDLE_VALUE)
        {
                MessageBox(_T("串口未打开!"));
                return;
        }

        UpdateData(TRUE);
        int len = m_strSendEdit.GetLength();                               
        char *psendbuf = new char[len];

        for(int i = 0; i < len;i++)
                psendbuf = (char)m_strSendEdit.GetAt(i);                 

        WriteFile(m_hComm, psendbuf, len, &dwactlen, NULL);         /* 从串口发送数据 */
       
        delete[] psendbuf;
}
我想问下WriteFile这个函数是对应驱动里的那个函数?
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

13
 
我现在要写驱动呢,还没办法做实验。。。。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(中级)

14
 
引用楼主 andylao62 的帖子:
请问串口应用时,对用户开放的串口驱动流接口函数,就是MDD部分下的函数,包括COM_Init,COM_Deinit,COM_Open,COM_Close ,COM_Read ,COM_Write, COM_Seek,, COM_PowerUp, COM_PowerDown, COM_IOControl几个基本实现吗?
这里确认 一下,现在准备开始写串口驱动了。。


我觉得这个驱动有点奇怪,上面这些函数是放在MDD的,楼主,这些你不用管的,管好的PDD直接和上面的MDD绑定联系起来就够了
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

15
 
调用WriteFile最终会导致COM_Write调用
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(初级)

16
 
回帖是一种美德!传说每天回帖即可获得 10 分可用分!
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

17
 
引用 14 楼 Reallyu 的回复:
调用WriteFile最终会导致COM_Write调用

终于有人确认我的说法了。。我可以写驱动了
不过还有个问题就是拿来做debug 串口,能不能通过加入驱动使这个串口能给用户用呢?
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用 16 楼 andylao62 的回复:
引用 14 楼 Reallyu 的回复:
调用WriteFile最终会导致COM_Write调用

终于有人确认我的说法了。。我可以写驱动了
不过还有个问题就是拿来做debug 串口,能不能通过加入驱动使这个串口能给用户用呢?


应该是不行的,二者不可得兼!
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

19
 
完全明白了。。。谢谢大家
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

20
 
引用 15 楼 happypay 的回复:
回帖是一种美德!传说每天回帖即可获得 10 分可用分!


是吗?那我也顶一把,只为这10分。。。。。。。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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