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最后就扫描下附近的蓝牙吧

 

转载自: http://hi.baidu.com/lzycome/blog/item/70590d82175254ba6c8119fc.html/cmtid/ed5a32ccf0db2e1d01e928fc

原文地址:https://www.cnblogs.com/LoongEmbedded/p/5298688.html