I have made the changes from the Wiki 128 bit UUID example to my working app and now cannot send data from central to peripheral.
I am sending the data using the correct handle for SIMPLEPROFILE_CHAR1 using GATT_WriteCharValue.
The packet arrives at the peripheral but the 2 bytes of the UUID which should be FF F1 and actually 00 00.
It would help to diagnose this problem if I knew how it worked. The UUID does not appear in the data as shown in the sniffer, only the handle does as far as I can see. Where does the UUID come from? The relevant bytes are pAttr->type.uuid[0], pAttr->type.uuid[1] on the peripheral. I am not clear on where these are populated from and why they are 00 instead of FF F1.
If I remove the define to revert to 16 bit UUID everything works again.
联系客服