wince 蓝牙 --转载

下面是WinCE中蓝牙协议栈的架构图:wince 蓝牙 --转载_第1张图片

可以看到,HCI传输层以上的协议层全部由WinCE实现了,所以蓝牙模块只需要实现了基带层和链路管理层,并提供HCI传输接口给WinCE就可以了。WinCE支持使用USB、UART、SDIO等接口的蓝牙模块。

开发板上使用的是CSR-BC4-EXT-C2-PA蓝牙模块,模块接在串口0上。使用CSR的BCSP传输协议。以下是配置方法:

1 添加Bluetooth Stack with Universal Loadable Driver

2 注册表配置

[HKEY_LOCAL_MACHINE/Software/Microsoft/Bluetooth/Transports/BuiltIn/1]

    "driver"="bthcsr.dll"

    "flags"=dword:4

    "name"="COM0:"

    "baud"=dword:1c200

    "resetdelay"=dword:1388

使用COM0,波特率115200。

3 配置PSKEY

先用BlueFlash烧写固件,然后用PSTool配置PSKEY,只要配置HOST_INTERFACE和UART_BAUDRATE就可以了,其他按默认配置。

PSKEY_HOST_INTERFACE: UART link running BCSP

PSKEY_UART_BAUDRATE:  115.2kbaud

4 添加文件传输服务

1) 在PB里增加OBEX inbox和OBEX File Browser组件

2) 修改注册表:

; @CESYSGEN IF SERVERS_MODULES_OBEXFILE

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Obex/Services/{f9ec7bc4-953c-11d2-984e-525400dc9e09}]

    "BaseDir"="//Temp//Ftp" ;默认根目录.对方可见目录

    "Server"="obexfile.dll"

    "canWrite" = dword:1   ;可访问,可读写

    "authenticate"= dword:0

    "transport authentiate" = dword:0

    ; @CESYSGEN IF CE_MODULES_BTD

    "BluetoothSdpRecord"=hex:35,41,09,00,01,35,03,19,11,06,09,00,04,35,11,35,/

    03,19,01,00,35,05,19,00,03,08,0a,35,03,19,00,08,/

    09,00,06,35,09,09,65,6e,09,00,6a,09,01,00,09,00,/

    09,35,08,35,06,19,11,06,09,01,00,09,01,00,25,03,/

    46,54,50

    ; @CESYSGEN ENDIF CE_MODULES_BTD

; @CESYSGEN ENDIF SERVERS_MODULES_OBEXFILE



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xy1001/archive/2008/12/06/3452861.aspx

 

 

wince串口蓝牙

今天终于搞好串口蓝牙了,对于有经验的人来说三五分钟的事情就OK了,我搞了多少天我都不记得了
唉,现在搞驱动啊,主要还是得靠技术支持,所以后来的XDJM要记住了,一个人打拼非常难的!
不多说了,直入正题:
第一步,如果你是一个刚开始搞蓝牙的人,那么,就先用wince自带的 bthcsr 驱动来测试是否正常与主机通信(也测试BT是否是好的)

注册表加入(这些内容在一份bchs-srn-004_wpp_bcsp_release_notes.pdf的文档有说明)

[HKEY_LOCAL_MACHINE/Software/Microsoft/Bluetooth/Transports/BuiltIn/1]
   "driver"="bthcsr.dll"
   "Name"="COM2:"
   "baud"=dword:E100 ;57600bps
   "FlashChip"=dword:0
   "flags"=dword:4
   "resetdelay"=dword:1388
然后飞线过去和蓝牙模组启动试下,当然串口要对啊,如果是正常启动的话那么恭喜你,第一步已通过,否则检测下串口是否有效,BT是否好的!


第二步,PSKEY 一早就听说过这个了,但没一点印像,到底这东西有多大,是什么样的,其实只是一些数据而已,官方的配置里有N项,但其实我们只用到几个就行了

//PSKEY start

// PSKEY_BDADDR
&0001 = 0000 a5a5 005b 0002 //蓝牙地址,这个不用管
// PSKEY_HOSTIO_MAP_SCO_PCM   //PCM这个也不用
&01ab = 0000// False
// PSKEY_HOSTIO_MAP_SCO_CODEC //这个也不用
&01b0 = 0000// False
// PSKEY_PCM_CONFIG32    //默认值这个也不用
&01b3 = 0080 0000
// PSKEY_PCM_FORMAT      //这个也不用
&01b6 = 006c
// PSKEY_UART_BAUDRATE
&01be = 00EC// 请查表,可以找到对应的波特率,00Ec是 57600
// PSKEY_ANA_FTRIM
&01f6 = 0022       //这个也不用
// PSKEY_HOST_INTERFACE
&01f9 = 0001// USB link   //0001 代表串口蓝牙
// PSKEY_ANA_FREQ    //这个也不用
&01fe = 3e80

//pskey end
总结,就两个地方,一个是波特率,一个是接口方式


注,我调试的是 BC04-ROM 的芯片,如果是 -flash 相应改下注册表还有驱动

第三,用官方的驱动,这个网上难找,如PSKEY,最好问支持能力强的供应商要

bchs-srn-004_wpp_bcsp_release_notes.pdf 说这个驱动叫 WPP-BCSP,那么就叫 WPP-BCSP吧,把它扔到BSP驱动程序的目录,编译它,如果通不过提示有错(error C2220: warning treated as error - no object file generated
),那就降低编译警告级别(在驱动里的属性修改)

最后一步

[HKEY_LOCAL_MACHINE/Software/Microsoft/Bluetooth/Transports/BuiltIn/1]
   "driver"="Bthbcsp.dll"
   "Name"="COM2:"
   "baud"=dword:E100
   "FlashChip"=dword:0
   "flags"=dword:4
   "resetdelay"=dword:1388

(当然要把 PSconfig.Psr打进windows目录,因为驱动会根据这个文件来配置)

OK最后就扫描下附近的蓝牙



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liqiong154/archive/2008/12/15/3516832.aspx

 

//

//

 

WINCE5.O对USB蓝牙适配器服务的支持

<1>添加蓝牙协议栈
   蓝牙组件位置:Communication Services and Networking/Networking - Personal Area Network (PAN)/Bluetooth/
   Bluetooth Protocol Stack with Transport Driver Support/Bluetooth Stack with Integrated USB Driver
   Bluetooth Protocol Stack with Transport Driver Support/Bluetooth Stack with Universal Loadable Driver
   Bluetooth Profiles Support/Bluetooth DUN Gateway
   Bluetooth Profiles Support/Bluetooth HS/HF and Audio Gateway Service
   Bluetooth Profiles Support/Bluetooth LAP and Configuration Utility
   Bluetooth Profiles Support/Bluetooth PAN
<2>添加对象交换协议
   Applications and Services Development/OBEX Client
   Applications and Services Development/OBEX Server/OBEX File Browser
   Applications and Services Development/OBEX Server/OBEX Inbox
<3>修改注册表
   修改注册表文件内容:C:/WINCE500/PUBLIC/SERVERS/OAK/FILES/servers.reg
   查找下面内容,并添加
    "CanWrite" = dword:1
    "Authenticate" = dword:0
    "Password" = "0000 "
    "Transport Authenticate"=dword:0

    修改前:
; @CESYSGEN IF SERVERS_MODULES_OBEXFILE
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Obex/Services/{f9ec7bc4-953c-11d2-984e-525400dc9e09}]
    "BaseDir"="//Temp//Ftp"
    "Server"="obexfile.dll"
; @CESYSGEN IF CE_MODULES_BTD
 "BluetoothSdpRecord"=hex:35,41,09,00,01,35,03,19,11,06,09,00,04,35,11,35,/
                             03,19,01,00,35,05,19,00,03,08,0a,35,03,19,00,08,/
                             09,00,06,35,09,09,65,6e,09,00,6a,09,01,00,09,00,/
                             09,35,08,35,06,19,11,06,09,01,00,09,01,00,25,03,/
                             46,54,50
; @CESYSGEN ENDIF CE_MODULES_BTD
; @CESYSGEN ENDIF SERVERS_MODULES_OBEXFILE


; @CESYSGEN IF SERVERS_MODULES_OBEXEXEC
;[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Obex/Services/{f9ec7bc4-953c-11d2-984e-525400dc9e09}]
;    "Server"="obexexec.dll"
; @CESYSGEN ENDIF SERVERS_MODULES_OBEXEXEC

    修改后:
; @CESYSGEN IF SERVERS_MODULES_OBEXFILE
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Obex/Services/{f9ec7bc4-953c-11d2-984e-525400dc9e09}]
    "BaseDir"="//Temp//Ftp"
    "Server"="obexfile.dll"
; @CESYSGEN IF CE_MODULES_BTD
 "BluetoothSdpRecord"=hex:35,41,09,00,01,35,03,19,11,06,09,00,04,35,11,35,/
                             03,19,01,00,35,05,19,00,03,08,0a,35,03,19,00,08,/
                             09,00,06,35,09,09,65,6e,09,00,6a,09,01,00,09,00,/
                             09,35,08,35,06,19,11,06,09,01,00,09,01,00,25,03,/
                             46,54,50
;下面要添加的
    "CanWrite" = dword:1
    "Authenticate" = dword:0
    "Password" = "0000 "
    "Transport Authenticate"=dword:0
; @CESYSGEN ENDIF CE_MODULES_BTD
; @CESYSGEN ENDIF SERVERS_MODULES_OBEXFILE

<4>重新编译工程

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/flowlight/archive/2008/05/31/2500031.aspx

你可能感兴趣的:(资源收集)