添加蓝牙通讯功能
下面是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
總結
- 上一篇: wince串口蓝牙
- 下一篇: Android系统架构基本模式解析