From 907625bffb42a1e5ffaa632b7ef32f1fa0fb6ed7 Mon Sep 17 00:00:00 2001 From: Yorick van Pelt Date: Wed, 9 Jan 2019 00:32:58 +0100 Subject: [PATCH] manual genetic algorithm produced 'blinking' led --- src/blink_led.c | 41 +++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/src/blink_led.c b/src/blink_led.c index f8e9485..d110ec0 100644 --- a/src/blink_led.c +++ b/src/blink_led.c @@ -27,16 +27,41 @@ void delay(uint16_t iterations) __asm nop __endasm; } } - +#define PPSO_PWM1 3 void main(void) { - LED_TRIS = 0; // Pin as output - LED_PORT = 0; // LED off - + //OSCCON = 0xf0; + TRISC = 0; + //SLRCONC = 0; + LED_PORT = 0; + PWM1CLKCON = 0x00; // From Fosc w/o prescaler + PWM1PRH = PWM1PRL = 0xFF; + PWM1PH = 0; + PWM1DCH = 0xFF; + PWM1OF = 0; + PWMLD = 0x07; + + + PWM1INTE = 0x00; // no interrupts enabled + PWM1INTF = 0x00; // clear interrupt flag + PWM1LDCON = 0x80; // load armed + PWM1OFCON = 0x00; // independent run mode + PWM1CON = 0x40; // enable, standard PWM mode, active high output + PWMEN = 0x07; + + RC5PPS = PPSO_PWM1; + //PWM1OUT = 1; + + + while (1) { - LED_PORT = 1; // LED On - delay(30000); // ~500ms @ 4MHz - LED_PORT = 0; // LED Off - delay(30000); // ~500ms @ 4MHz + //LED_PORT = 1; // LED On + PWM1DCH = 1; + PWM1LDCON = 0x80; // load armed + delay(300000); + //LED_PORT = 0; // LED Off + PWM1DCH = 0xff; + PWM1LDCON = 0x80; // load armed + delay(300000); } }