Matlab - Bytes en Matlab

   
Vista:

Bytes en Matlab

Publicado por Alberto (3 intervenciones) el 09/05/2013 20:49:25
Hola que tal,
Estoy teniendo problemas con el argumento de una funcion de libreria .DLL de un dispositivo USB
La funcion es:


Prototype: int WINAPI rf_M1_authentication2(unsigned short icdev,
unsigned char model,
unsigned char block,
unsigned char *pKey)

Parameter: icdev: [IN] Communication device identifier
model: [IN] Key validation model
block: [IN] Block absolute address
pKey: [IN] Password, 6 bytes (FFFFFFFFFFFF)



Mi problema es en el ultimo argumento. Según el fabricante, es un arreglo de 'FF' en Hexadecimal.
Sin embargo, la funcion no admite caracteres. Pide un valor numérico o lógico - (De acuerdo al mensajede error, y la ventana libfunctionsview) -

Al parecer, el problema es que no he sabido establecer un arreglo de Bytes como tal.

La funcion esta asi:
[Autent,punt]= calllib('Master','rf_M1_authentication2',uint16(0),uint8(60),uint8(0),pointer3);

Aqui estan los punteros
Son solo algunos de los muchisimos que he intentado:

pointer3=libpointer('uint8Ptr',[hex2dec('FF') hex2dec('FF') hex2dec('FF') hex2dec('FF') hex2dec('FF') hex2dec('FF')]);

pointer3=libpointer('uint8Ptr', [uint8(255) uint8(255) uint8(255) uint8(255) uint8(255) uint8(255)]);

pointer3=libpointer('uint8Ptr',dec2bin(281474976710655));

pointer3=libpointer('uint8Ptr',[dec2binvec(255) dec2binvec(255) dec2binvec(255) dec2binvec(255) dec2binvec(255) dec2binvec(255)]);

pointer3=libpointer('uint8Ptr', [unicode2native('FF','ISO-8859-1') unicode2native('FF','ISO-8859-1')... ]);


Al parecer, los hexadecimales de Matlab son solo strings para que el usuario los vea bonitos, pero no son valores hexadecimales reales de 4 en 4 bits.

Alguna sugerencia?
Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder