11623|22

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WINCE中蓝牙驱动程序的添加 [复制链接]

各位大侠,小弟现在往WINCE5.0中添加蓝牙驱动,用的BC-4的芯片,使用板子上的COM4口,结果在CSR_Init函数中调用CreateFile(TEXT("COM4……时,返回失败了,原OS中没有任何蓝牙相关的代码与驱动,包括btd.dll,在注册表中的设置如下:不知道是不是我的设置有问题?请高手指教。[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SerialCSR]
    "Prefix"="CSR"                        
    "Dll"="SerialCSR.Dll"
    "Order"=dword:10               
    "Index"=dword:2
此帖出自WindowsCE论坛

最新回复

现在是这样的,HCI_OpenConnection函数中CreateFile(CSR1:,……)后,调用我自己的流程序中的:CSR_Open函数,但是在CSR_Open函数中调用createFile(TEXT("COM4:"),……)时,返回错误值:55(ERROR_DEV_NOT_EXIST)!!!同时我用一个测试程序来打开COM4时,是可以成功打开的。  详情 回复 发表于 2008-12-5 17:22
点赞 关注
 

回复
举报

86

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
应该还是你串口驱动配置的问题
从你的注册表来看,你的设备号应该是“CSR2:“啊,怎么会是COM4:呢?
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
你可以考虑直接用SPI往蓝牙的flash里面写寄存器,BC-4的芯片厂商会提供那个烧写软件给你的,比软件直接可靠
此帖出自WindowsCE论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
WinCE里不是已经有CSR蓝牙的驱动了嘛
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

5
 
hzdysymbol ,你好。
我用测试程序去打开“COM4:”的时候是成功的,但就是直接在系统启动加载CSR_Init函数时,CreateFile就失败了!我们同时有两个项目在进行,第一个项目中,注册表是跟我这个一样的,代码也是这样写,但是那样就是对的,能够正常打开COM口,但是那个项目中,是用UART0做为COM4连接的,这会是什么原因呢?谢谢。
此帖出自WindowsCE论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

6
 
记得弄过WINCE50下的,但弄了很久没见什么效果!
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

7
 
请问一下,如果加载bthcsr.dll到内核里面去呢?这个动态库是在哪生成的?谢谢。
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

8
 
加上这个Catalog item:“Bluetooth Stack with Universal Loadable Driver”

然后修改注册表:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\Transports\BuiltIn\1]
    "driver"="bthcsr.dll"
    "flags"=dword:4
    "name"="COM4:"
    "baud"=dword:1c200
    "resetdelay"=dword:1388

蓝牙模块还要修改PSKEY,主要是Host Interface和Baudrate。
此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

9
 
Catalog item:“Bluetooth Stack with Universal Loadable Driver”怎么加呀?我不懂!!catalog Item里面没找到!!!
此帖出自WindowsCE论坛
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

10
 
我以为是应用程序控制串口的呢,原来蓝牙是这么回事啊。
此帖出自WindowsCE论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

11
 
.................
首先你的搞清楚你怎么控制CSR
如果是用COM去控制你就应该去操作com。
你建立CSR1.。。这个我理解你想做个CSR的驱动。。。那就要再你的驱动中对COM口进行操作。
然后应用层通过调用CSR1这样一个控制口来执行一些程序。
思路要清楚就好了
此帖出自WindowsCE论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

12
 
现在的问题是我调用CSR_Init之后,应该会CreateFile(TEXT("CSR1:"),...);然后执行CSR_Open函数,可是我的代码:
HANDLE WINAPI CSR_Open(HANDLE pContext, DWORD AccessCode, DWORD ShareMode)
{
        RETAILMSG(1, (TEXT("CSR_Open\r\n")));
        return (HANDLE)NULL;
}确没有执行!!!
此帖出自WindowsCE论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

13
 
追踪后发现在HCI_OpenConnection函数中执行:
hFile = CreateFile(szComPortName,   //szComPortName = CSR1:
                GENERIC_READ | GENERIC_WRITE,
                0,    // comm devices must be opened w/exclusive-access
                NULL, // no security attrs
                OPEN_EXISTING, // comm devices must use OPEN_EXISTING
                FILE_ATTRIBUTE_NORMAL,    // overlapped I/O
                NULL  // hTemplate must be NULL for comm devices  
                                );

用GetLastError()返回值为:55。
此帖出自WindowsCE论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 8 楼 orangeman1982112 的回复:
Catalog item:“Bluetooth Stack with Universal Loadable Driver”怎么加呀?我不懂!!catalog Item里面没找到!!!


Core OS > Windows CE devices > Communication Services and Networking > Networking - Personal Area Network (PAN) > Bluetooth > Bluetooth Protocol Stack with Transport Driver Support
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 13 楼 xy1001 的回复:
引用 8 楼 orangeman1982112 的回复:
Catalog item:“Bluetooth Stack with Universal Loadable Driver”怎么加呀?我不懂!!catalog Item里面没找到!!!


Core OS > Windows CE devices > Communication Services and Networking > Networking - Personal Area Network (PAN) > Bluetooth > Bluetooth Protocol Stack with Transport Driver Support


我加了这个组件,但是在HCI_OpenConnection函数中执行:
hFile = CreateFile(szComPortName,  //szComPortName = CSR1:
                GENERIC_READ | GENERIC_WRITE,
                0,    // comm devices must be opened w/exclusive-access
                NULL, // no security attrs
                OPEN_EXISTING, // comm devices must use OPEN_EXISTING
                FILE_ATTRIBUTE_NORMAL,    // overlapped I/O
                NULL  // hTemplate must be NULL for comm devices  
);
还是失败,返回错误结果为:0x37(The specified network resource or device is no longer available)。

请高手指教啊,谢谢啦。
此帖出自WindowsCE论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

16
 
你的蓝牙模块有没有配置正确呢?
PSKEY_HOST_INTERFACE这个PSKEY要配置成UART link running BCSP
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

17
 
我有一个PSConfig.psr的文档,里面的内容是:
// PSKEY_BDADDR
&0001 = 0010 05fd 006e 0006
// UART BAUD RATE
&01be = 01d8
// ANA FREQ
&01fe = 3E80
// PSKEY_PCM_CONFIG32
&01b3 = 0800 0000

但是在platform.bib文件中加入:
PSConfig.psr    $(_TARGETPLATROOT)\SRC\DRIVERS\CSP\Bluetooth\SerialCSR\PSConfig.psr         NK SH
后,编译就会出现如下错误:
Error: Failed reading e32 structure in module PSConfig.psr
此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

18
 
而且我发现还有一个问题存在,就是配置PSKEY应该是在CreateFile(TEXT("COM4:"),……)之后才对,现在是打开COM4口都有问题的。
此帖出自WindowsCE论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

19
 
添加了Core OS > Windows CE devices > Communication Services and Networking > Networking - Personal Area Network (PAN) > Bluetooth > Bluetooth Protocol Stack with Transport Driver Support组件后,系统在开机的时候自动会去打开COM0:
所以请你去检查一下COM0:对应的是哪一个UART,如果是跟你COM4是同一个,那你是没有办法成功打开的
此帖出自WindowsCE论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

20
 
...........你COM4如果被占用了当然就打不开。。确认下COM4是否工作正常吧
此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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