#else // Parallel
static void _ACM1602_TC_WAIT(void)
{
- __delay_us(5);
+#ifdef __SDCC
+ delay10tcy(4);
+#else
+ __delay_us(5);
+#endif
}
static unsigned char lcd_busychk(unsigned char addr)
}
-void acm1602_locate_16x2(unsigned char addr, char x, char y)
+void acm1602_locate_16x2(unsigned char addr, unsigned char x, unsigned char y)
{
unsigned char ramaddr;
- if((x < 0) || (x >= 16)) return;
- if((y < 0) || (y > 1)) return;
+ if(x > 16) return;
+ if(y > 1) return;
ramaddr = (y == 0)? x : (x | 0x40);
acm1602_setdataramaddress(addr, ramaddr);
}
/*
* For using
*/
-void acm1602_locate_8x2(unsigned char addr, char x, char y)
+void acm1602_locate_8x2(unsigned char addr, unsigned char x, unsigned char y)
{
unsigned char ramaddr;
- if((x < 0) || (x >= 8)) return;
- if((y < 0) || (y > 1)) return;
+ if(x > 8) return;
+ if(y > 1) return;
ramaddr = (y == 0)? x : x | 0x40;
acm1602_setdataramaddress(addr, ramaddr);
}