TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2541 串口和蓝牙发送HEX码

请问CC2541使用蓝牙和串口进行透传时,如何才能发送HEX码,而不是字符串格式。同时读取的数据也以HEX码的格式读取,而不是字符串格式。谢谢

Alvin Chen:

你发送的都是hex格式,只不过你buf里面装的刚好是对应的字符的ascii码而已,
举个例子:noti.handle =simpleProfileAttrTbl[11].handle;noti.len = slen;memcpy(noti.pValue, nvalue, slen);
status = GATT_Notification( pItem->connHandle, &noti, FALSE );
随便装你的buf, 你要装的是0x31你显示的是1,但是你要在你接收端设置hex显示就是0x31。
仅此而已。

Viki Shi:

这个需要你自己写代码去处理,思路参考下右边文档:blog.csdn.net/…/51683627

yang wang9:

回复 Alvin Chen:

所以问题是,我该如何写入HEX码并且发送。我的意思是,我写入的就是我想发送的

yang wang9:

回复 Alvin Chen:

所以问题是,我该如何写入HEX码并且发送。我的意思是,我写入的就是我想发送的

yang wang9:

回复 Viki Shi:

所以我该如何写入HEX码?就是说我写入的既是我想发送的,谢谢

Alvin Chen:

回复 yang wang9:

对的,你显示是字符串是因为他刚好是字符串,你可以在buf填一下0x01之类的,你不开的hex显示就是乱码

yang wang9:

回复 Alvin Chen:

请问能否具体一点,比如使用哪个函数我可以直接写入我需要的HEX码,然后我通过串口来发送

Alvin Chen:

回复 yang wang9:

这取决于你的自己的程序,有notify和indicate 。
你自己去用C:\Texas Instruments\BLE-CC254x-1.4.2.2\Projects\ble\SimpleBLEPeripheral

static void performPeriodicTask( void )
{uint8 valueToCopy;uint8 stat;
// Call to retrieve the value of the third characteristic in the profilestat = SimpleProfile_GetParameter( SIMPLEPROFILE_CHAR3, &valueToCopy);
if( stat == SUCCESS ){/** Call to set that value of the fourth characteristic in the profile. Note* that if notifications of the fourth characteristic have been enabled by* a GATT client device, then a notification will be sent every time this* function is called.*/SimpleProfile_SetParameter( SIMPLEPROFILE_CHAR4, sizeof(uint8), &valueToCopy);}
}
这就是一个发送一个uint8的字符的。

yang wang9:

回复 Alvin Chen:

好的,我自己尝试一下。由衷感谢

da qin zheng sheng:

蓝牙和串口都可以发送hex,每个字节从0x00到0xff

赞(0)
未经允许不得转载:TI中文支持网 » CC2541 串口和蓝牙发送HEX码
分享到: 更多 (0)