Page 1 of 1
How to simulate a frequency to be read by a pin
Posted: Mon Oct 28, 2024 7:27 pm
by Carmelo
Hello,
Could someone tell me how I can generate a frequency to simulate its input through a pin and that can be read by the pic?
I'm looking at the digital input components and the rest of the component tools and I can't find anything that can help me read the pulses through the RB0 pin.
Thank you very much in advance for your answers
Re: How to simulate a frequency to be read by a pin
Posted: Tue Oct 29, 2024 4:36 am
by chipfryer27
Hi
I'm not sure I understand fully. Do you want something to provide a pulse at an input? When received your program does something? Could you perhaps use a push button to simulate? Each press would be an incoming pulse.
Regards
Re: How to simulate a frequency to be read by a pin
Posted: Tue Oct 29, 2024 8:45 am
by medelec35
Hello.
within Component Libraries > Runtime > Runtime Tools there is component called Simulation External Input.
That will simulated a pin input.
I have moved this topic to general as it is not a user component you have created.
Re: How to simulate a frequency to be read by a pin
Posted: Tue Oct 29, 2024 4:25 pm
by Carmelo
Gracias por la respuesta Medelec.
Ya lo he localizado y en breve probaré.
Informaré del resultado.
Re: How to simulate a frequency to be read by a pin
Posted: Tue Oct 29, 2024 7:36 pm
by Carmelo
Hola,
Acabo de probar lo indicado y parece que funciona.
Con esto quiero contar el numero de pulsos que entran por RB0 (configurado como interrupción) en un segundo y por tanto saber el numero de RPM.
La base de tiempos la tengo creada con el timer 1, usando un oscilador de 20MHz y el timer con un prescaler de 1:4. Con esto me dice que la interrupción se produce cada 19,073 HZ.
Dentro de la macro de la interrupción, cada vez que entra en ella, incremento un contador en una unidad y espero a que llegue al valor de 19. Con esto debería ser un tiempo de 1sg.
Seguidamente presento el valor en un LCD, pero no los valores que se muestran no se corresponden en nada con los que deberían de salir puesto que si la frecuencia de los pulsos es de 50Hz se corresponden con 20msg cada pulso y por tanto lo visualizado en el LCD debería ser un valor de 50 que después multiplicado por 60 me daría 3000
¿Me pueden decir que estoy realizando mal?
Gracias de antemano.
Adjunto el fichero de flowcode que esta mas avanzado pero tiene muchos bloques desactivados para ir probándolo por partes.