蓝牙PSKEY的调整
来源:互联网 发布:网络维护员 编辑:程序博客网 时间:2024/06/06 09:52
Bluecore内部有些配置寄存器,称为PSKEY,这些寄存器不可随意更改,因其事关重大,稍有不慎改动便会造成运行的不稳定或无法工作,Bluecore的初始化便是从读取这些寄存器配置器件开始的,比如UART的使用方式就有RAW,BCSP,H4,H5几种协议方式,只有RAW这种方式才是可以当正常串口使用的,其他的都有自己特定的传输协议,比如HOST Interface可以选择为USB、UART、NONE等,一旦设置为USB,那么程序中对UART的所有操作都是无效的。
这些都是比较简单的PSKEY,稍微有些头脑的人都是可以很容易理解的,但还有一些PSKEY是决定蓝牙传输特性的,就不是那么容易理解的了,除非对蓝牙机制了解得比较透彻,比如ACL链路数据缓冲区的大小设置,这个设置大了容易造成运行时内存不够而死机,小了对传输时间有影响,再比如是否支持AFH,支持则建立连接后采用AFH机制,在有干扰的情况下通信特性会好些,再比如是否可以测量RSSI,这是判断好信道坏信道的一种方式,测量周期是多少,这个周期一到,接收端便会停止正常接收而专对各个信道进行测量评估,限制值是多少,可以判断这个信道是好的还是坏的,等等这些都是事关重大而且不好调整的,所以一般采用CSR已经调好的默认值,最好不要修改或者修改前考虑下后果再或者在CSR的建议下修改,否则无异于自杀式行为。
在这里强调一下,不要以自己的逻辑来改这些PSKEY,蓝牙特性首先遵从于协议机制,然后才会遵从你的逻辑,如果对蓝牙的各种协议不是很了解,不要认为逻辑上这么改是没问题的,因为你的逻辑说不定就违反了哪个协议。所以不要说什么逻辑上应该可以这些话,一定要有这样的观点:你的逻辑相比于蓝牙协议是不堪一击的。
由于这些PSKEY事关重大,所以对于Bluecore来说是不可访问的,对应用程序来说是即不能读也不能写,比如Bluecore无法知道自己设备的蓝牙地址是多少。那么怎么调整它们呢?因为有的是必须调整的,比如必须禁止低功耗模式否则会对UART通信有影响,方式只有一个:HOST+相应协议。
这些对Bluecore本身不可见的PSKEY是要通过HOST以特定的传输方式及协议(如BCSP、USB、SPI)来读写的,即对外部主机是可见的,这样便可以在调试或生产过程中通过主机端进行设置,而且生产完后对这些PSKEY值的访问接口就不存在了,改不了了,从而保证了产品运行期间的安全可靠性。
- 蓝牙PSKEY的调整
- 蓝牙PSKEY的调整
- 四极管:蓝牙PSKEY的调整
- 蓝牙配置 uart pskey
- <蓝牙BLE>如何调整cc2540的发射功率
- swappiness调整的调整
- 蓝牙----Android的蓝牙开发
- 蓝牙1.1、蓝牙1.2、蓝牙2.0的关键区别
- 蓝牙1.1、蓝牙1.2、蓝牙2.0的关键区别
- WinCE蓝牙应用的实现--蓝牙耳机
- WinCE蓝牙应用的实现--蓝牙耳机
- 蓝牙通信-搜索附近的蓝牙设备
- 蓝牙基础:蓝牙的工作原理
- [蓝牙]iOS蓝牙调用的一般流程
- 蓝牙解析(part1):蓝牙的基本概念
- 蓝牙的问题
- 蓝牙的移植
- 蓝牙的描述
- Java自带的GUI性能监控工具Jconsole以及JisualVM简介
- 登录时保存用户信息 --- NSUserDefaults的简单使用
- Shiro权限框架
- MVC 多文件上传后台接收
- HDU 1540 && POJ 2892 线段树 单点染色 区间查询
- 蓝牙PSKEY的调整
- jna调用原生代码——传递参数
- Android实现推送方式解决方案
- Oracle高级复制的同步复制的配置步骤说明
- String类成员函数的实现
- Android MediaPlayer状态图明晰注释
- 日记
- Linux下7z的使用方法
- Java 内存泄露