[应用相关] while函数

[复制链接]
948|8
 楼主| handleMessage 发表于 2017-1-19 18:43 | 显示全部楼层 |阅读模式
void MOV_char(uchar Direction,uchar Place)
{
   while(Place>=0)
     {
   WRITE_CMD(Direction);
   delay(520);
   Place--;
   }
}

//============================

while(sansuo>=0)
      {
    WRITE_CMD(0x0b);
    delay(1000);
    WRITE_CMD(0x0f);
    delay(1000);
    sansuo--;
    }


//============================

while(1)
      {
    MOV_char(0x18,32);
       delay(10);
    WRITE_CMD(0x02);
    delay(520);
   }

//=============================

以上三个while函数,第三个可以正常执行,但是第一第二个如果我把子while后面括号内的内容改成Place>0和sansuo>0  ,就是把原来的>=改成>  程序就可以执行了。不然的话程序就会在while里面跳不出来。
zhouhuanの 发表于 2017-1-19 18:47 | 显示全部楼层
难道whiler满足条件不是逻辑真吗?
bbapple 发表于 2017-1-19 18:51 | 显示全部楼层
可以尝试在微机上运行,把PLACE定义为有符号。程序也许可以正常运行
wanglaojii 发表于 2017-1-19 18:57 | 显示全部楼层
那么只能执行else语句了!!!
laozhongyi 发表于 2017-1-19 19:01 | 显示全部楼层
这个unsigned char 是无符号型:0-255, ">=0" 是一个恒成立的逻辑。
Edisons 发表于 2017-1-19 19:03 | 显示全部楼层
感觉可以定义char型:-127-127,就可以了。
_gege 发表于 2017-1-19 19:09 | 显示全部楼层
char是不是-128-127还要看编译器的。
Mozarts 发表于 2017-1-19 19:11 | 显示全部楼层
楼主你这犯的是很低级的错误啦。。。
Listate 发表于 2017-1-19 19:17 | 显示全部楼层
前面加个LDC 平滑下,然后后面再做保护,另外,LZ的电路是不能用的,因为保护三极管基极没有泄放电阻
您需要登录后才可以回帖 登录 | 注册

本版积分规则

166

主题

1700

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部