diff options
Diffstat (limited to '')
-rw-r--r-- | Lab_2B.X/lab2b_asm.s | 14 | ||||
-rw-r--r-- | Lab_2B.X/lab2b_c.c | 14 |
2 files changed, 14 insertions, 14 deletions
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);
}
}
|