From 3747dddaf630e5666fcce9208c78d414f31ca04d Mon Sep 17 00:00:00 2001 From: Matt Strapp Date: Sun, 9 Feb 2020 09:51:39 -0600 Subject: Do lab stuffs --- Lab_2B.X/lab2b_c.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/Lab_2B.X/lab2b_c.c b/Lab_2B.X/lab2b_c.c index 063dfd9..21fdcba 100644 --- a/Lab_2B.X/lab2b_c.c +++ b/Lab_2B.X/lab2b_c.c @@ -1,4 +1,5 @@ #include "xc.h" +#include "lab2b_header.h" // CW1: FLASH CONFIGURATION WORD 1 (see PIC24 Family Reference Manual 24.1) #pragma config ICS = PGx1 // Comm Channel Select (Emulator EMUC1/EMUD1 pins are shared with PGC1/PGD1) #pragma config FWDTEN = OFF // Watchdog Timer Enable (Watchdog Timer is disabled) @@ -14,20 +15,94 @@ #pragma config FCKSM = CSECME // Clock Switching and Monitor (Clock switching is enabled, // Fail-Safe Clock Monitor is enabled) #pragma config FNOSC = FRCPLL // Oscillator Select (Fast RC Oscillator with PLL module (FRCPLL)) +#define PERIOD 5 void setup(void) { CLKDIVbits.RCDIV = 0; //Set RCDIV=1:1 (default 2:1) 32MHz or FCY/2=16M + AD1PCFG = 0x9fff; + TRISA = 0b1111111111111110; + TRISB = 0x0000; + wait_100us(); } +void writeColor(int r, int g, int b); void loop(void); + int main(void) { setup(); + wait_100us(); loop(); return 0; } +void writeColor(int r, int g, int b) { + LATA = 0x0000; + wait_100us(); + + for (int i = 0; i < 8; i++){ + if (r & 1) { + write_1(); + } else { + write_0(); + } + r >> 1; + } + for (int j = 0; j < 8; j++){ + if (g & 1) { + write_1(); + } else { + write_0(); + } + g >> 1; + } + for (int k = 0; k < 8; k++){ + if (b & 1) { + write_1(); + } else { + write_0(); + } + b >> 1; + } +} + void loop(void) { while (1) { - //do nothing + LATA = 0x0000; + wait_100us(); + + //RED + write_1(); + write_1(); + write_1(); + write_1(); + + write_1(); + write_1(); + write_1(); + write_1(); + + //GREEN + write_1(); + write_0(); + write_0(); + write_1(); + + write_1(); + write_0(); + write_1(); + write_1(); + + //BLUE + write_0(); + write_0(); + write_0(); + write_0(); + + write_0(); + write_0(); + write_0(); + write_0(); + + //writeColor(255, 155, 0); } } \ No newline at end of file -- cgit v1.2.3