【BLE】CC2541之indicate
我参考上面这篇文章,做了indicate试验,用char4,char7均已成功。
现在有个问题,例子是用从机和btool通讯。
我想用从机和主机通讯,那主机程序该如何写呢?
主机该如何接收呢?谢谢!
YiKai Chen:
就用SimpleBLECentral
Viki Shi:
请参考协议栈中的SimpleBLEPeripheral及SimpleBLECentral进行主从机通信
ccb bcc:
回复 Viki Shi:
谢谢!我现在主机和从机已经连接成功。通信怎么操作呢?
烧进程序后,按UP键扫描,扫描成功,left选中,center键连接。
连接成功,再怎么操作呀?我用的1.4.0协议栈。
YiKai Chen:
回复 ccb bcc:
就是在simpleBLECentralProcessGATTMsg操作
ccb bcc:
回复 YiKai Chen:
谢谢!我看了,这个程序只在主机里有。
if ( ( pMsg->method == ATT_READ_RSP ) || ( ( pMsg->method == ATT_ERROR_RSP ) && ( pMsg->msg.errorRsp.reqOpcode == ATT_READ_REQ ) ) ) { if ( pMsg->method == ATT_ERROR_RSP ) { uint8 status = pMsg->msg.errorRsp.errCode; LCD_WRITE_STRING_VALUE( "Read Error", status, 10, HAL_LCD_LINE_1 ); } else { // After a successful read, display the read value uint8 valueRead = pMsg->msg.readRsp.value[0];
LCD_WRITE_STRING_VALUE( "Read rsp:", valueRead, 10, HAL_LCD_LINE_1 ); NPI_PrintValue("Read rsp:",valueRead, 10); } simpleBLEProcedureInProgress = FALSE; }
这一段是用来读的。
我要读从机的数据,从机发送用什么函数呢?请多指教。
YiKai Chen:
回复 ccb bcc:
从机发送用什么函数我不是在另一個帖子跟你說過了?
ccb bcc:
回复 YiKai Chen:
要送出indication 應該是調用 SimpleProfile_SetParameter
是这个吗?大神
ccb bcc:
回复 ccb bcc:
else if ( ( pMsg->method == ATT_WRITE_RSP ) || ( ( pMsg->method == ATT_ERROR_RSP ) && ( pMsg->msg.errorRsp.reqOpcode == ATT_WRITE_REQ ) ) ) { if ( pMsg->method == ATT_ERROR_RSP == ATT_ERROR_RSP ) { uint8 status = pMsg->msg.errorRsp.errCode; LCD_WRITE_STRING_VALUE( "Write Error", status, 10, HAL_LCD_LINE_1 ); } else { // After a succesful write, display the value that was written and increment value LCD_WRITE_STRING_VALUE( "Write sent:", simpleBLECharVal++, 10, HAL_LCD_LINE_1 ); } simpleBLEProcedureInProgress = FALSE;
}
这个里面也没有写操作,只显示了一下。
YiKai Chen:
回复 ccb bcc:
這個是收到Write attribute response去做顯示,有什麼問題嗎?
ccb bcc:
回复 YiKai Chen:
我是说怎么写呀?你说另外一个帖子说了,我找不到了。你再告诉我一下,谢谢了。