随笔分类 - 蓝牙方案
摘要:Preamble: 引导码, 为1个字节, 不显示出来. Access Address: 访问地址, 长度为4个字节, 所有广播包的访问地址都是0x8E89BED6, 如下图. 当PDU在广播信道传输时, 就是广播PDU, 如果在数据信道传输, 就是数据PDU, CRC就是根据这个PDU计算的. 广
阅读全文
摘要:因为红外遥控要占用的系统中断时间可能超过了80ms, 极有可能导致蓝牙断线, 特别是连续两次按键, 100%断线. 后来根据蓝牙技术群里的哥们提示, 觉得不能在一个中断中delay得太久, 只能用任务跟事件的情势来实现了. 首先原理是, 利用现有的SimpleBLEPeripheval的这个任务,
阅读全文
摘要:被突如其来的一个bug困扰了好几天, 起因是, 按键接的红外接收器, 结果发现, 一旦按下之后, IEN1, P0IE的标识位bit5, 被不知道特么的谁归0了, 也就是说, 按键只能被按下一次, 再按就不进中断了. 后来研究了甜总的自定义按键. http://blog.csdn.net/feilu
阅读全文
摘要:这个配置或者说任务, 让这个蓝牙设备成为了一个简单的BLE外设. 这里定义了外设的广播数据, 以及最重要, char被改变之后的回调, 引出后来的coreHandler里面的, ack 以及写e2prom. /*********************************************
阅读全文
摘要:买的E2PROM是128*8bit的, 就是只能存储128个byte, 妈的, 买小了. 实际需要的是10句, 可能加两个特殊句, "新手"跟"故障", 一共12个字符, 除了后面两个特殊的, 每个句子有最多30个字, 每个字是2个byte, 一句话就是30*2=60+2(语句编号/语句长度)个by
阅读全文
摘要:1. 首先要考虑将String转成一个bytes的数组, 每个汉字是3个bytes, 英文或者标点是1个byte. 2. 然后去判断一下每一个byte的前面几个bit, 看下面的表, 1个byte的字符, 就是英文跟标点, 它的第1个bit是0; 3. 重点是3个bytes的字符, 就是汉字, 或者
阅读全文
摘要:1. App端会发送一定数量的byte过来蓝牙, 每2个byte是一个汉字的编码. 2. 拿到汉字编码之后, 统计字符数量, 然后通过SPI, 搜索编码 3. 收到的编码, 每个汉字字符有32个byte, 如果一句话有30个汉字, 及960个byte,乘以8, 就是7680, 大约8K, 24C08
阅读全文
摘要:P1SEL寄存器, 0xF4, 功能选择用的, 0表示GPIO口, 1表示外设. 寄存器0x90, 是制度的, 表示P1的8个引脚的状态. Port1的方向, 0表示输入, 1是输出.
阅读全文
摘要:E2PROM(24C02): Flash(w25q):
阅读全文
摘要:包类型: 01命令/02数据/03应答消息 开始标志FF/本数据包长度(注意是16进制)/校验码/包ID/包类型01: 表示是命令/01表示下面要开始传输/03字符串编号/字符串长度/结束位FEFF 09 3B 2C 01 01 03 0A FE 0A 0B 0C 0D 0E 0F 10 11 12
阅读全文
摘要:由于要写TM1680, 写命令跟写数据, 所以需要使用CC2541的I2C, 2541是有硬件I2C的. tm1680.c: #include "tm1680.h" //TM1680是先发送配置, 然后发送数据.void masterConfig(void);void masterSendData(
阅读全文
摘要:SPI就是用4条线来串行传输数据, 2541只能用模拟的方式用GPIO来做. //******************************************************************************// INCLUDES//******************
阅读全文
摘要:NXP的这个BLE蓝牙方案也很有趣, 一起研究. 这个函数在app_gpa_task.c里面 **************************************************************************************** * @brief Handl
阅读全文
摘要:1. CC254x的软件基于OSAL架构 2. OSAL并非一个真的操作系统, 而只是让软件设立一个事件的执行方法(setup excution of events) 3. 每一个子系统都在OSAL的一个任务(task)执行并由一个独立的task id. 4. task id越小, 优先级别越高 5
阅读全文
摘要:TI的CC254x芯片 1. SoC 2. RF收发器+8051MCU 128/256KB Code空间. 3. Master或者Slave 4. 可编程flash 5. 8KB SRAM 6. 全软件协议栈, 无版权问题 7. 21个GPIO口, 2个UART或者SPI, 全速USB2.0, 2个
阅读全文
摘要:通用属性配置(Generic Attribute Profiles) 1. 数据在services里面以特征字(characteristics)的形式展示出来 如你所见, 特征字包含属性(Properties), 值(Value), 跟若干描述(Descriptor) 上面的截图描述了, 句柄在40
阅读全文
摘要:连接更新请求(connection update request) 如果slave不满意现有的连接参数, 比如间隔, 延迟等等, 可以向master提出自己希望的参数范围 连接终止(connection termination) 1. master跟slave都可以终止连接 2. 如果超时时间到,
阅读全文
摘要:约定, 第一次翻译这种东西, 专有名词的翻译原则还是不太清楚, 总之涉及有可能误解的词, 都用双语, 如果是简单的, 直接英文或者中文, 取决于我是否能找到中文合适的词来翻译. 何为BLE: 1. 是一种蓝牙联盟Bluetooth Special Interest Group(BT-SIG)制定的无
阅读全文
浙公网安备 33010602011771号