找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1265|回复: 3
收起左侧

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

[复制链接]
ID:810487 发表于 2020-11-11 09:27 | 显示全部楼层 |阅读模式
(RAZH%L(O2CN{KX$HPGI7IS.png
回复

使用道具 举报

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。
回复

使用道具 举报

ID:607298 发表于 2020-11-12 14:09 | 显示全部楼层
调试模式,单步跑一下应该就可以找到问题了。
回复

使用道具 举报

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;
}
这是测试结果
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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