添加蓝牙通讯功能

下面是WinCE中蓝牙协议栈的架构图:

可以看到,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

posted @ 2012-08-25 16:35  LoongEmbedded  阅读(258)  评论(0编辑  收藏  举报