|
void LCD1602_checkbusy()
{
uchar state;
LCD1602_DB=0xff; //LCD1602正忙,禁止讀寫數(shù)據(jù)或命令
LCD1602_RS=0;
LCD1602_RW=1;
do
{
LCD1602_E=1;
state=LCD1602_DB;
LCD1602_E=0; //讀完狀態(tài)后撤銷使能,防止LCD輸出干擾總線
}while(state&0x80); //若LCD為忙碌狀態(tài)就持續(xù)檢測,一直到不忙為止
}
此處用do-while而不能用whil,do-while是執(zhí)行一次后再進行判斷,而while是直接進行判斷;若LCD一開始就是空閑狀態(tài)的的話,空閑狀態(tài)無法存儲,在接下的操作中無法讀出LCD的狀態(tài),從而無法再LCD上顯示
|
|