Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
/* * File: demo2.c * Author: Alejo * * Created on 6 de mayo de 2020, 16:13 */ // Blink --> Activar la salida RD1 un cierto tiempo y desactivar RD1 otro tiempo // Conmutador: Invertir el estado de la salida salida, por cada flanco ascendente en la entrada. #include "config.h" //--> https://pastebin.com/iCVtqpfB //config.c --> https://pastebin.com/KRXRaxR8 #define CONFIGURAR_LED_TEST TRISD1=0 #define ENCENDER_LED_TEST LD1=1 #define APAGAR_LED_TEST LD1=0 //#define ACTIVAR_SALIDA LATD |= 0b00000010 //Poner en alto el bit 0 (RD0) //#define DESACTIVAR_SALIDA LATD &= ~0b00000010 //Poner en bajo el bit 0 (RD0) //#define ACTIVAR_SALIDA LATDbits.LD1=1 //#define DESACTIVAR_SALIDA LATDbits.LD1=0 //Para interactuar con la SALIDA, utilizar: #define CONFIGURAR_SALIDA TRISB7=0 #define ACTIVAR_SALIDA LB7=1 #define DESACTIVAR_SALIDA LB7=0 #define INVERTIR_SALIDA LB7 = !LB7 //Para interactuar con la ENTRADA, utilizar: #define CONFIGURAR_ENTRADA TRISA0=1 #define ENTRADA_ACTIVADA RA0 //--------------------------------------------------------------------- void BlinkSincronico(void) { static unsigned long centiseg_ant=0; const unsigned char tpo_espera=5; static bit salida_activada=0; //Actviar la salida, esperar un tiempo, desactivar la salida, esperar un tiempo if(centiseg - centiseg_ant < tpo_espera) return; centiseg_ant= centiseg; salida_activada = !salida_activada; if(salida_activada) ENCENDER_LED_TEST; else APAGAR_LED_TEST; } //--------------------------------------------------------------------- void Conmutador(void) { static bit entrada_activada_ant=0; //Invertir el estado de la salida salida, //por cada flanco ascendente en la entrada (CAMBIO DE BAJO A ALTO) if(ENTRADA_ACTIVADA == entrada_activada_ant) return; entrada_activada_ant= ENTRADA_ACTIVADA; if(ENTRADA_ACTIVADA) INVERTIR_SALIDA; } //--------------------------------------------------------------------- void main(void) { setup(); CONFIGURAR_LED_TEST; CONFIGURAR_SALIDA; CONFIGURAR_ENTRADA; while(1) { BlinkSincronico(); Conmutador(); } return; }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)