OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3287|回复: 1

组合问题

[复制链接]

10

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2015-8-1
在线时间
11 小时
发表于 2016-1-27 10:34:29 | 显示全部楼层 |阅读模式
10金钱
//B6,D2,C10,B3,B7,B5,B9,C12,B8,B4,C11//2-250A
#define AI2_1K  GPIO_ResetBits(GPIOB,GPIO_Pin_6)               
#define AI2_1G  GPIO_SetBits(GPIOB, GPIO_Pin_6)               
#define AI2_2K  GPIO_ResetBits(GPIOC,GPIO_Pin_2)               
#define AI2_2G  GPIO_SetBits(GPIOC, GPIO_Pin_2)               
#define AI2_3K  GPIO_ResetBits(GPIOC,GPIO_Pin_10)               
#define AI2_3G  GPIO_SetBits(GPIOC, GPIO_Pin_10)               
#define AI2_4K  GPIO_ResetBits(GPIOB,GPIO_Pin_3)               
#define AI2_4G  GPIO_SetBits(GPIOB, GPIO_Pin_3)               
#define AI2_5K  GPIO_ResetBits(GPIOB,GPIO_Pin_7)               
#define AI2_5G  GPIO_SetBits(GPIOB, GPIO_Pin_7)               
#define AI10_1K GPIO_ResetBits(GPIOB,GPIO_Pin_5)               
#define AI10_1G GPIO_SetBits(GPIOB, GPIO_Pin_5)
#define AI10_2K GPIO_ResetBits(GPIOB,GPIO_Pin_9)               
#define AI10_2G GPIO_SetBits(GPIOB, GPIO_Pin_9)               
#define AI20K   GPIO_ResetBits(GPIOC,GPIO_Pin_12)               
#define AI20G   GPIO_SetBits(GPIOC, GPIO_Pin_12)               
#define AI50_1K GPIO_ResetBits(GPIOB,GPIO_Pin_8)               
#define AI50_1G GPIO_SetBits(GPIOB, GPIO_Pin_8)               
#define AI50_2K GPIO_ResetBits(GPIOB,GPIO_Pin_4)               
#define AI50_2G GPIO_SetBits(GPIOB, GPIO_Pin_4)               
#define AI50_3K GPIO_ResetBits(GPIOC,GPIO_Pin_11)               
#define AI50_3G GPIO_SetBits(GPIOC, GPIO_Pin_11)               
#define AI50_4K GPIO_ResetBits(GPIOC,GPIO_Pin_1)               
#define AI50_4G GPIO_SetBits(GPIOC, GPIO_Pin_1)
这是定义   有12个数值,5个2,2个10,一个20,4个50    随机选定几个凑成0~250(差值是2)   

现在的问题是这个凑的need是理论值,与我们实际测量值值ac_dc有差距,如果差距大于2V,则要重新修改组合,请问怎么编程

        if ((need%10)>=2)
                {
                        AI2_1K;

                        if ((need%10)>=4)
                                {
                                        AI2_2K;

                                        if ((need%10)>=6)
                                        {
                                                AI2_3K;

                                                if ((need%10)>=8)//2-8
                                                {
                                                        AI2_4K;

                                                }
                                        }
                                }
                }
                                                        if ((need%50)>=10)//&&(need%50)<20)//10,60,110,160
                                                    {
                                                                AI10_1K;

                                                               
                                                        }
                                                                if ((need%50)>=20&&(need%50)<30)//20,70,120,170
                                                        {
                                                                        AI10_2K;

                                                                }
                                                                        if ((need%50)>=30&&(need%50)<40)
                                                                        {
                                                                                AI20K;

                                                                        }
                                                                                if ((need%50)>=40&&(need%50)<50)//
                                                                                {
                                                                                        AI10_2K;
                                                                                        AI20K;

                                                                                }
                                                                                        if ((need/50)>=1)
                                                                                        {
                                                                                                AI50_1K;

                                                                                        }
                                                                                                if ((need/50)>=2)
                                                                                                {
                                                                                                        AI50_2K;

                                                                                                }
                                                                                                        if ((need/50)>=3)
                                                                                                        {
                                                                                                                AI50_3K;

                                                                                                        }
                                                                                                       
                                                                                                        if ((need/50)>=4)
                                                                                                        {
                                                                                                                AI50_4K;

                                                                                                        }
                                                                                                       
                                                                                                                if (need>248)
                                                                                                                {
                                                                                                                        AI2_5K;

                                                                                                                }
                                                                                                                if (need==250)
                                                                                                                {
                                                                                                                        AI2_1K;
                                                                                                                        AI2_2K;
                                                                                                                        AI2_3K;
                                                                                                                        AI2_4K;
                                                                                                                        AI2_5K;
                                                                                                                        AI10_1K;
                                                                                                                        AI10_2K;
                                                                                                                        AI20K;
                                                                                                                        AI50_1K;
                                                                                                                        AI50_2K;
                                                                                                                        AI50_3K;
                                                                                                                        AI50_4K;


                                                                                                                }


void check (void)
{   
        reduce = need - ac_dc;
        ///////////////////////////////////
        这里怎么写,给点提示!!!!!!!
        }
}


每个人都说我蠢い
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2016-1-27 18:30:00 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 16:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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