Sensor de huellas dactilares R305 con kit de descubrimiento Stm32fo

-1

estoy tratando de conectar un sensor de huellas digitales ( r305 ) con mi kit de descubrimiento stm32f0. Pude interactuar y hacer que funcione con mi arduino y mi PC usando la biblioteca y el software Companion que figuran en el enlace, pero no pude hacer que funcionara con el kit stm. El sensor dado necesita que los datos se transmitan en paquetes. He analizado los paquetes utilizando el rastreador de paquetes en la PC y he creado un código de muestra para el paquete de reconocimiento en mi kit de descubrimiento de stm.

USART2->TDR = 0xef;
Delay_ms(50);
USART2->TDR = 0x01; 
Delay_ms(50);

USART2->TDR = 0xff;
Delay_ms(50);
USART2->TDR = 0xff;
Delay_ms(50);
USART2->TDR = 0xff;
Delay_ms(50);
USART2->TDR = 0xff;
Delay_ms(50);   

USART2->TDR = 0x01;
Delay_ms(50);
USART2->TDR = 0x00;
Delay_ms(50);

USART2->TDR = 0x07;
Delay_ms(50);
USART2->TDR = 0x13;
Delay_ms(50);   

USART2->TDR = 0x00;
Delay_ms(50);
USART2->TDR = 0x00;
Delay_ms(50);       
USART2->TDR = 0x00;
Delay_ms(50);
USART2->TDR = 0x00;
Delay_ms(50);

USART2->TDR = 0x00;
Delay_ms(50);
USART2->TDR = 0x1b;
Delay_ms(500);

Le di la salida para el código al sniffer de paquetes y pude ver el mismo código hexadecimal que se proporcionó desde el software complementario y arduino.

ef 01 ff ff ff ff 01 00 07 13 00 00 00 00 00 1b.

el sensor de huellas dactilares da salida para el mismo paquete generado desde arduino pero no funciona para mi código. Qué estoy haciendo mal. Es mi retraso demasiado. mi velocidad de transmisión es 57600. Parece que no puedo encontrar mi error. por favor ayuda y gracias

    

1 respuesta

0

Lo siento por la publicación. El problema se resolvió al reducir el retraso a 10 ms. Sin embargo, no funcionaría sin demora.

USART2->TDR = 0xef;
Delay_ms(10);
USART2->TDR = 0x01; 
Delay_ms(10);

USART2->TDR = 0xff;
Delay_ms(10);
USART2->TDR = 0xff;
Delay_ms(10);
USART2->TDR = 0xff;
Delay_ms(10);
USART2->TDR = 0xff;
Delay_ms(10);   

USART2->TDR = 0x01;
Delay_ms(10);
USART2->TDR = 0x00;
Delay_ms(10);

USART2->TDR = 0x07;
Delay_ms(10);
USART2->TDR = 0x13;
Delay_ms(10);   

USART2->TDR = 0x00;
Delay_ms(10);
USART2->TDR = 0x00;
Delay_ms(10);       
USART2->TDR = 0x00;
Delay_ms(10);
USART2->TDR = 0x00;
Delay_ms(10);

USART2->TDR = 0x00;
Delay_ms(10);
USART2->TDR = 0x1b;
Delay_ms(500);
    
respondido por el Nikhil Ben George

Lea otras preguntas en las etiquetas