标题: 这个C语言程序中为什么我的变量的值不会变? [打印本页]

作者: 123456syh    时间: 2020-11-11 09:27
标题: 这个C语言程序中为什么我的变量的值不会变?

作者: i_could_have    时间: 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。
作者: lightday    时间: 2020-11-12 14:09
调试模式,单步跑一下应该就可以找到问题了。
作者: i_could_have    时间: 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;
}
这是测试结果




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1