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
How to simulate a frequency to be read by a pin
-
- Posts: 132
- http://meble-kuchenne.info.pl
- Joined: Thu Oct 14, 2021 10:04 am
- Has thanked: 53 times
- Been thanked: 4 times
-
- Valued Contributor
- Posts: 1684
- Joined: Thu Dec 03, 2020 10:57 am
- Has thanked: 374 times
- Been thanked: 583 times
Re: How to simulate a frequency to be read by a pin
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
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
-
- Matrix Staff
- Posts: 2086
- Joined: Wed Dec 02, 2020 11:07 pm
- Has thanked: 644 times
- Been thanked: 702 times
Re: How to simulate a frequency to be read by a pin
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.
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.
Martin
Re: How to simulate a frequency to be read by a pin
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.
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.
- Attachments
-
- Flowcode1.fcfx
- (30.04 KiB) Downloaded 146 times