微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > lightblue和TI 自带SimpleBLEPeripheral从机之间的问题

lightblue和TI 自带SimpleBLEPeripheral从机之间的问题

时间:10-02 整理:3721RD 点击:

当手机和从机连接后,lightblue选择“characteristic 1”,就会自动读到特征值1的初始值0x01,然后我点“write new value”,写入任意一个字节参数如0x05,“read again”不用点,就自动收到0x05,请问:

1)为什么手机写什么,就会自动收到什么,read again收到的值和从机的程序到底有没有关系,这个read again是不是对应协议栈中的GATT_ReadCharValue函数呢

2)从机发送数据给手机(或者主机)的流程是什么呢?是从机调用GATT_Notification发送数据后,主机执行GATT_ReadCharValue吗;还是主机先执行GATT_ReadCharValue,从机再调用GATT_Notification发送数据

期待各位的回答,谢谢

1. 写char1调用的函数是GATT_WriteCharValue,然后写进去后,根据BLE会返回写成功的数据发送给主机,主机收到之后就会更改这个显示。所以不用read again,read again是重读而已。

2.对于char 1 来说主机主动发起,写数据用的是GATT_WriteCharValue函数,读数据用的是GATT_ReadCharValue,从机收到之后会响应,返回值给主机。没有用到GATT_Notification来发送数据。

谢谢你的回答,不过我还是不太理解

1)我把断点设置在simpleProfileChangeCB, case SIMPLEPROFILE_CHAR1 中,这样对char1写值时,就运行到断点处,手机read again没有收到;那么请问从机是在哪里将写入的值返回给主机的呢

2)从机调用GATT_Notification发送数据后,lightblue打开listen for notifications就能收到数据,那么这个“listen for notifications”和主机的读有关系么

谢谢您的答复

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top