找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1730|回复: 10
打印 上一主题 下一主题
收起左侧

求助while循环次数 附C语言代码

[复制链接]
跳转到指定楼层
楼主
ID:101869 发表于 2021-4-14 11:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小白一枚想写一段闪灯次数代码  代码如下
while(shan<=4) {shan++;
                        if (Cnt1s==1)
                                                yk=0;        
                      if (Cnt1s==2)
                       yk=1;}
                   }  
我想循环4次  怎么用这个代码一次也不循环  请老师指导下

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:271144 发表于 2021-4-14 16:06 | 只看该作者
前面定义''shan''了吗。这里或许用for循环更好
回复

使用道具 举报

板凳
ID:332444 发表于 2021-4-14 17:17 | 只看该作者
当shan大于后就不再进入循环,需要在某处再次处理为0才能再次进入循环,且yk变化很快让人不能及时观察到,所以,好似觉得没循环一样。
回复

使用道具 举报

地板
ID:905783 发表于 2021-4-14 17:41 | 只看该作者
shan 没有初始化,必须先写shan=1;可执行4次
回复

使用道具 举报

5#
ID:887371 发表于 2021-4-14 18:05 | 只看该作者
你不是要求代码循环4次吧,应该是想要灯闪4下。
  1. unsigned char shan = 4;
  2. void main(void)
  3. {
  4.         while (1)
  5.         {
  6.                 if (shan)
  7.                 {
  8.                         if (bCnt1s)
  9.                         {
  10.                                 bCnt1s = 0;
  11.                                 yk = !yk;
  12.                                 shan--;
  13.                         }
  14.                 }
  15.         }
  16. }
复制代码
回复

使用道具 举报

6#
ID:887371 发表于 2021-4-14 18:14 | 只看该作者
上楼代码是闪2下。
要闪4下第13行改为 if(yk) shan--;
或者第1行改为 unsigned char shan = 8;
回复

使用道具 举报

7#
ID:101869 发表于 2021-4-14 18:23 | 只看该作者
谢谢各位热心解答
回复

使用道具 举报

8#
ID:884042 发表于 2021-4-14 19:30 | 只看该作者
用for更简单啊
回复

使用道具 举报

9#
ID:900662 发表于 2021-4-14 19:42 | 只看该作者
首先,你的闪没有初始化,单片机会随便赋值,初始化为1就行了,其次,你没有延时,单片机执行速度非常快,很快就闪完了,所以你要加延时函数
回复

使用道具 举报

10#
ID:584814 发表于 2021-4-15 17:28 | 只看该作者
不加延时真的有牛叉到能看出闪么
程序的问题:
1、初始化代码没看到,不知道在循环前 shan 的值;
2、程序中闪灯的次数和循环的次数不一样,循环2次一亮一灭算闪1次;
3、单片机是以Mhz速度进行的,你的程序就算是正常工作肉眼也看不出闪来;
此外,程序中的 Cnt1s 和 shan 的关系也没交代,是否在中断里调整 Cnt1s ?不要掖着藏着让大家盲人摸象。
回复

使用道具 举报

11#
ID:824490 发表于 2021-4-16 09:55 | 只看该作者
do...while之类的循环结构,适用于不定次数的循环体,如果能确定次数,好用不过For。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表