PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   thắc mắc về việc hỏi cờ bận trong CCs (http://www.picvietnam.com/forum/showthread.php?t=8369)

ElecTel 30-03-2011 04:15 AM

thắc mắc về việc hỏi cờ bận trong CCs
 
Các anh ơi cho em hỏi ! là trong thư viện lcd.c của CCS có viết sẳn mấy hàm như lcd_send_byte(); lcd_send_nibble(); ... hình như trong các hàm đó ngừoi ta đã viết săn luôn phần hỏi cờ bận của lcd luôn phải không các anh ????? Nếu như vậy thì sau mỗi lệnh lcd_putc(...) thì mình có thể không cần dùng thêm hàm delay_ms() nửa có được ko??

tại vì em thấy như này

Code:

char lcd_getc(BYTE x, BYTE y)


{
  char value;

  lcd_gotoxy(x,y);
  while ( bit_test(lcd_read_byte(),7) ); // wait until busy flag is low <----Busy flag???
  lcd_output_rs(1);
  value = lcd_read_byte();
  lcd_output_rs(0);
 
  return(value);
}

Code:

void lcd_send_byte(BYTE address, BYTE n)
{
  lcd_output_rs(0);
  while ( bit_test(lcd_read_byte(),7) ) ;  <------- busy flag???????
  lcd_output_rs(address);
  delay_cycles(1);
  lcd_output_rw(0);
  delay_cycles(1);
  lcd_output_enable(0);
  lcd_send_nibble(n >> 4);
  lcd_send_nibble(n & 0xf);
}

Các anh cho em hỏi hàm lcd_getc () là có tác dụng gì vậy????

tdm 30-03-2011 09:45 AM

Trích:

Nguyên văn bởi ElecTel (Post 43199)
Các anh ơi cho em hỏi ! là trong thư viện lcd.c của CCS có viết sẳn mấy hàm như lcd_send_byte(); lcd_send_nibble(); ... hình như trong các hàm đó ngừoi ta đã viết săn luôn phần hỏi cờ bận của lcd luôn phải không các anh ????? Nếu như vậy thì sau mỗi lệnh lcd_putc(...) thì mình có thể không cần dùng thêm hàm delay_ms() nửa có được ko??

tại vì em thấy như này

Code:

char lcd_getc(BYTE x, BYTE y)


{
  char value;

  lcd_gotoxy(x,y);
  while ( bit_test(lcd_read_byte(),7) ); // wait until busy flag is low <----Busy flag???
  lcd_output_rs(1);
  value = lcd_read_byte();
  lcd_output_rs(0);
 
  return(value);
}

Code:

void lcd_send_byte(BYTE address, BYTE n)
{
  lcd_output_rs(0);
  while ( bit_test(lcd_read_byte(),7) ) ;  <------- busy flag???????
  lcd_output_rs(address);
  delay_cycles(1);
  lcd_output_rw(0);
  delay_cycles(1);
  lcd_output_enable(0);
  lcd_send_nibble(n >> 4);
  lcd_send_nibble(n & 0xf);
}

Các anh cho em hỏi hàm lcd_getc () là có tác dụng gì vậy????

không cần dùng thêm hàm delay_ms()
hàm lcd_getc ()//đọc dữ liệu lcd
vi dụ:
lcd_gotoxy(1,1);//hang_1 cot_1
data=lcd_getc ()//đọc dữ liệu hang_1 cot_1

ElecTel 30-03-2011 11:21 AM

Cảm ơn tdm :D :D


Múi giờ GMT. Hiện tại là 04:21 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam