本帖最后由 刘前辈 于 2011-4-2 17:27 编辑
修改:if( OSQPend(temp,Command1602Buf,0)== OS_Q_TMO) …… ;
void Enter1602(void) //1602密码登陆界面处理
{
uint8 temp[1];
OSSemCreate(LCD1602_SEM,0);
Write_string(1,1," -SMALL RTOS- "); //1602初始化登陆界面大概要写250ms
OSWait(K_TMO,2);
Write_string(2,1,"Password:");
while(1)
{
if( OSQPend(temp,Command1602Buf,0)== OS_Q_TMO) return ; //总得判断一下吧。
switch (temp[0])
{
case(WRITE_STAR): //在1602上写下一个“*”号,密码为六位
if(addr<9&&addr>=15)
addr=9;
else
{addr+=1;Write_char(2,addr,'*');}break;//写一个字符大概30ms
……
……
、 |