Red de conocimiento informático - Material del sitio web - Cómo modificar el paquete de transmisión ble de mtk

Cómo modificar el paquete de transmisión ble de mtk

****Versión de pila: 1.3.2

****demo: SimpleBLEPeripheral

*** Modifiqué dos lugares, uno es modificar dinámicamente los datos de transmisión, que necesitan se llamará GAP_UpdateAdvertisingData, la otra es agregar la clave para modificar publicidadData, de la siguiente manera:

1. periférico.c, función GAPRole_SetParameter parte GAPROLE_ADVERT_DATA

if (len lt; = B_MAX_ADV_LEN )

{

VOID osal_memset( gapRole_AdvertData, 0, B_MAX_ADV_LEN);

VOID osal_memcpy( gapRole_AdvertData, pValue, len

); gapRole_ AdvertDataLen = len

GAP_UpdateAdvertisingData( gapRole_TaskID, TRUE, gapRole_AdvertDataLen, gapRole_AdvertData

}

2, simpleBLEPeripheral.

advertData); [5]= recuento;

advertData[6]=recuento;

advertData[7]=recuento;

GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData );

Fenómeno de prueba:

Después de que el programa se enciende y se ejecuta, se inicia y transmite normalmente y muestra la transmisión en la pantalla LCD. Packetsniffer captura paquetes y transmite los datos originales.

Luego active el botón para modificar dinámicamente advertData, se produce un error GAPROLE_ERROR y la pantalla LCD imprime ERROR, pero este error no afecta otros comportamientos. Packetsniffer captura paquetes para ver que los datos de transmisión se han modificado correctamente. Además, SimpleBLEPeripheral aún puede conectarse y comunicarse normalmente, pero se produce un error GAPROLE_ERROR cada vez que se modifica el contenido de la transmisión.