aboutsummaryrefslogtreecommitdiffstats
path: root/Lab_2B.X
diff options
context:
space:
mode:
Diffstat (limited to 'Lab_2B.X')
-rw-r--r--Lab_2B.X/lab2b_asm.s14
-rw-r--r--Lab_2B.X/lab2b_c.c14
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);
}
}