请问读取1602的状态是什么意思?有些什么状态,每个状态的输出是多少?
#define BUSY 0x80;
addr = read_state()&~BUSY;
这是什么意思?
这个指令用来读取LCD1602状态。对于单片机来说,LCD1602属于慢速设备。当单片机向其发送一个指令后,它将去执行这个指令。这时如果单片机再次发送下一条指令,由于LCD1602速度较慢,前一条指令还未执行完毕,它将不接受这新的指令,导致新的指令丢失。因此这条读忙指令可以用来判断LCD1602是否忙,能否接收单片机发来的指令。当BF=1,表示LCD1602正忙,不能接受单片机的指令;当BF=0,表示LCD1602空闲,可以接收单片机的指令。
通俗的讲就是这样的:
读状态是用来读1602是否在忙,意思是如果你给1602传输两个东西,1602要先吃完第一个,忙,此时不能吃第二个,等到第一个吃完了,变闲,通过这函数知道1602可以吃第二个了,,再发第二个给它。