[Hỏi] v/v truyền dữ liệu qua uart

cenakhoa

em thích màu hồng
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

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:;
}
đây là chương trình hiện số lcd chuẩn hoạt động ngon

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:;
}
 

eMagic

Gà mẹ
Staff member
Code:
	while(q!=0)//xu ly xuat tung digit
	{
		a=q%10;
   		lcd_gotoxy(i,1);
   		lcd_putc(a+48);
		q=(q-a)/10;
		i--;// vị trí
	}
 
Top