找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

这个C语言程序中为什么我的变量的值不会变?

查看数: 1996 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-11-11 09:27

正文摘要:

回复

ID:833190 发表于 2020-11-12 14:10
#include <stdio.h>

int main()
{
        int PWM_numb = 0;
        int PWM_but = 0;
        int num = 0;//输出次数超过10000跳出循环
        int i=0;//输出换行用
        while(1)
        {
                if(PWM_numb == 0)
                {
                        PWM_but++;
                        if(PWM_but>1000)
                                PWM_numb = 1;
                }
                else if(PWM_numb == 1)
                {
                        PWM_but--;
                        if(PWM_but<1)
                                PWM_numb = 0;
                }
                if(i++< 29)
                        printf("%d ",PWM_but);
                else
                {
                        i=0;
                        printf("%d\n",PWM_but);
                }
                if(num++ >10000)
                        break;
        }
   
   return 0;
}
这是测试结果
ID:607298 发表于 2020-11-12 14:09
调试模式,单步跑一下应该就可以找到问题了。
ID:833190 发表于 2020-11-12 13:49
本帖最后由 i_could_have 于 2020-11-12 13:54 编辑

不知道你这有没有在循环里面,如果没在的话,只会执行一次,如果初始PWM_numb=0,那么PWM_but+1,然后PWM0->CMPA=PWM_but。如果在循环里面,确定循环条件一直满足,PWM_but从0加到10000,然后再减到0。

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

Powered by 单片机教程网

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