From 35d19270a62063f85b842d5df2981e8a88b21bd9 Mon Sep 17 00:00:00 2001 From: RossTheRoss Date: Sun, 9 Feb 2020 11:30:30 -0600 Subject: redo? --- Lab_2B.X/lab2b_c.c | 85 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 44 insertions(+), 41 deletions(-) (limited to 'Lab_2B.X/lab2b_c.c') diff --git a/Lab_2B.X/lab2b_c.c b/Lab_2B.X/lab2b_c.c index 21fdcba..7992b5b 100644 --- a/Lab_2B.X/lab2b_c.c +++ b/Lab_2B.X/lab2b_c.c @@ -36,73 +36,76 @@ int main(void) { } void writeColor(int r, int g, int b) { + int i = 0; LATA = 0x0000; wait_100us(); - - for (int i = 0; i < 8; i++){ + while (i < 8) { if (r & 1) { write_1(); } else { write_0(); } r >> 1; + ++i; } - for (int j = 0; j < 8; j++){ + while (i > 0) { if (g & 1) { write_1(); } else { write_0(); } - g >> 1; + g >> 1; + --i; } - for (int k = 0; k < 8; k++){ + while (i < 8){ if (b & 1) { write_1(); } else { write_0(); } b >> 1; + ++i; } } void loop(void) { while (1) { - LATA = 0x0000; - wait_100us(); +// 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(); - //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); + writeColor(255, 155, 0); } } \ No newline at end of file -- cgit v1.2.3 From 8d15625be9753e9898f44fa9a9a131191f48fece Mon Sep 17 00:00:00 2001 From: RossTheRoss Date: Sun, 9 Feb 2020 11:38:35 -0600 Subject: HELP --- Lab_2B.X/lab2b_c.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Lab_2B.X/lab2b_c.c') diff --git a/Lab_2B.X/lab2b_c.c b/Lab_2B.X/lab2b_c.c index 7992b5b..893c812 100644 --- a/Lab_2B.X/lab2b_c.c +++ b/Lab_2B.X/lab2b_c.c @@ -39,6 +39,7 @@ void writeColor(int r, int g, int b) { int i = 0; LATA = 0x0000; wait_100us(); + //RED while (i < 8) { if (r & 1) { write_1(); @@ -48,6 +49,7 @@ void writeColor(int r, int g, int b) { r >> 1; ++i; } + //GREEN while (i > 0) { if (g & 1) { write_1(); @@ -57,6 +59,7 @@ void writeColor(int r, int g, int b) { g >> 1; --i; } + //BLUE while (i < 8){ if (b & 1) { write_1(); @@ -108,4 +111,4 @@ void loop(void) { writeColor(255, 155, 0); } -} \ No newline at end of file +} -- cgit v1.2.3 From 02d5204a1ae23b759888ba55c0458d1471281eae Mon Sep 17 00:00:00 2001 From: RossTheRoss Date: Sun, 9 Feb 2020 12:38:01 -0600 Subject: ? --- Lab_2B.X/lab2b_asm.s | 14 +++++++------- Lab_2B.X/lab2b_c.c | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) (limited to 'Lab_2B.X/lab2b_c.c') diff --git a/Lab_2B.X/lab2b_asm.s b/Lab_2B.X/lab2b_asm.s index 3c3e19e..675987e 100644 --- a/Lab_2B.X/lab2b_asm.s +++ b/Lab_2B.X/lab2b_asm.s @@ -21,19 +21,19 @@ _wait_1ms: _write_0: ;2 cycles for function call inc LATA ;1 - repeat #3 ;1 for load - nop ;3+1=4 nop + repeat #2 ;1 for load + nop ;2+1=3 nop clr LATA ;1 - repeat #6 ;1 for load - nop ;1+6=7 nop + repeat #7 ;1 for load + nop ;1+7=8 nop return ;3 return _write_1: ;2 cycle call inc LATA ;1 - repeat #10;1 load - nop ;1+10=11 nop + repeat #8 ;1 load + nop ;1+9=10 nop clr LATA ;1 - nop ;1 + nop ;1 return ;3 return \ No newline at end of file diff --git a/Lab_2B.X/lab2b_c.c b/Lab_2B.X/lab2b_c.c index 893c812..4976231 100644 --- a/Lab_2B.X/lab2b_c.c +++ b/Lab_2B.X/lab2b_c.c @@ -25,7 +25,7 @@ void setup(void) { TRISB = 0x0000; wait_100us(); } -void writeColor(int r, int g, int b); +void writeColor(short r, short g, short b); void loop(void); int main(void) { @@ -35,8 +35,8 @@ int main(void) { return 0; } -void writeColor(int r, int g, int b) { - int i = 0; +void writeColor(short r, short g, short b) { + short i = 0; LATA = 0x0000; wait_100us(); //RED @@ -46,7 +46,7 @@ void writeColor(int r, int g, int b) { } else { write_0(); } - r >> 1; + r >>= 1; ++i; } //GREEN @@ -56,7 +56,7 @@ void writeColor(int r, int g, int b) { } else { write_0(); } - g >> 1; + g >>= 1; --i; } //BLUE @@ -66,7 +66,7 @@ void writeColor(int r, int g, int b) { } else { write_0(); } - b >> 1; + b >>= 1; ++i; } } @@ -108,7 +108,7 @@ void loop(void) { // write_0(); // write_0(); // write_0(); - +// writeColor(255, 155, 0); } } -- cgit v1.2.3