CC2541主机(SimpleBLECentral)和从机(SimpleBLEPeripheral)之间能通信么?
尊敬的TI工程师和社区会员们:
你们好,通信本人刚买了TI官方的CC2541EM Board, 刚接触蓝牙,我想实现一个小实验:从机在连接上主机后,周期性的向主机发送一串字符串,主机在收到后在串口打印出来。说明书上的几个demo做了下都能实现。现在想请教几个问题:
(1)此功能能用SimpleBLECentral和SimpleBLEPeripheral工程配合实现么?
(2)我现在手头的设备只有两块CC2541EM Board 和两块 SmartRF05 Evaluaiton board Rev.1.8.1。足够实现以上功能么?
可以实现你想要的功能。在SimpleBLEPeripheral工程中,利用特征值4的通知功能,周期性将数据写入特征值4,然后在SimpleBLECentral工程中,收到通知后,读取数据,打印到串口就行。
官方的板子真不错啊! 可以通信的。
这个是完全可以通信的,你首先要操作central设备,让它发现并和Peripheral设备连接上。
然后可以通过特性值Char3的notify方式或是CHar4的读写方式来进行数据的交互。
如果不是很明白的话,建议先看我们SDK里面的编程手册。
谢谢
Hi Ken Wang
谢谢您的指导,我现在已经可以实现从机向主机点对点通信了,从机串口输入一段数据,远端主机就能串口打印出来,代码如下:
。
但是我希望先将 buf 中的数据固定,然后周期性的调用SimpleProfile_SetParameter(SIMPLEPROFILE_CHAR7,SIMPLEPROFILE_CHAR7_LEN, buf),我试过在前面添加osal_start_timerEx( simpleBLEPeripheral_TaskID, SBP_PERIODIC_EVT, SBP_PERIODIC_EVT_PERIOD ),代码如下:
串口收不到数据。代码都是在simpleBLEPeripheral.c中添加的,另外为了方便修改,仿照char4,我添加了有同样功能的char7.
你设置的题timer的定时器,同时有相应的SBP_PERIODIC_EVT的事件。那你在Peripheral.c的程序里面有没有添加程序检测到SBP_PERIODIC_EVT事件是对应的操作呢?
你的程序好像没看到这部分的代码
谢谢
Hi Ken Wang
谢谢您的指导,问题解决了,我在SPB_PERIODIC_EVT事件下添加了我需要的事件,如图:
另外我还想请问下哪里能找到CC2541EMK的原理图?因为我希望把蓝牙模块插到我自己的母板上使用,我想知道CC2541芯片引脚和EMK上P1,P2引脚的对应关系,找了半天都找不到,另外CC2530EMK原理图在哪能也告诉下么?如图:
谢谢
请参考下面的链接,里面有关于BLE的全部材料:
http://processors.wiki.ti.com/index.php/Category:BluetoothLE?keyMatch=BLE&tisearch=Search-EN
谢谢