Mình viết 1 hàm hiển thị 1 biến i ví dụ i = 12345 rồi dùng 1 hàm con như uart_putnumber(i) ra máy tính giống như hồi làm lcd nhưng mà kí tự hiện ra ko đúng, toàn dấu )*, mọi người vào giúp mình nào
ĐÓ LÀ CHƯA KỂ SỐ HIỆN RA BỊ NGƯỢC KO LÙI LẠI NHƯ LCD ĐƯỢC, AI CÓ GIẢI THUẬT NÀO HAY KHÔNG BÀ CON
đây là chương trình hiện số uart
đây là chương trình hiện số lcd chuẩn hoạt động ngon
ĐÓ LÀ CHƯA KỂ SỐ HIỆN RA BỊ NGƯỢC KO LÙI LẠI NHƯ LCD ĐƯỢC, AI CÓ GIẢI THUẬT NÀO HAY KHÔNG BÀ CON
đây là chương trình hiện số uart
PHP:
void uart_putnumber(long n)
{
unsigned char j=0;
long i;
i=n;
if(n==0)
{
uart_puts("0");
goto ketthuc1;
}
else
{
while (i)
{
j++;;
i=i/10;
}
}
//unsigned int matran1[j-1];
for (i=j;i>=1;i--)
{
uart_putc(48+n%10);
n=n/10;
}
ketthuc1:;
}
PHP:
void lcd_putnumber(long n)
{
unsigned char j=0;
long i;
i=n;
if(n==0)
{
lcd_puts("0");
goto ketthuc0;
}
else
{
while (i)
{
j++;;
i=i/10;
}
}
for (i=j;i>=2;i--)
{
lcd_put_byte(0,0b00010100);//dich con tro sang phai
}
for (i=j;i>=1;i--)
{
lcd_putc(48+n%10);
lcd_put_byte(0,0b00010000);//dich con tro sang trai
lcd_put_byte(0,0b00010000);//dich con tro sang trai
n=n/10;
}
for (i=j;i>=0;i--)
{
lcd_put_byte(0,0b00010100);//dich con tro sang phai
}
ketthuc0:;
}