[AVR单片机] 如何将两个互相独立的程序整合成一个程序,

[复制链接]
 楼主| nature0 发表于 2014-11-27 23:26 | 显示全部楼层 |阅读模式
请大神指点!!!!
大家好,现在一个温度模块,和电机转动模块,我用keil将两个程序整合在一起,但编译的时候出现errors,说是管脚重复定义,,,,请大神指点!!!!
ningling_21 发表于 2014-11-28 11:08 | 显示全部楼层
程序合并时,函数,变量和管脚定义不能重复
 楼主| nature0 发表于 2014-11-29 16:33 | 显示全部楼层
ningling_21 发表于 2014-11-28 11:08
程序合并时,函数,变量和管脚定义不能重复



你好,请再回答我一个问题,这有一个四线双极性步进电机正转程序,如何改成反转程序。
大神原谅我,问的问题有点低级。



void Go()
{        char i ,temp;
     //A
    PH1 = 0;  //PH1为0 则A线圈为反向电流
        for(i = 0; i<3; i++)
        {  temp = P1;
           P1 = TableA;
           P1 = P1&temp;
           delay(1);
         }
       

        PH2 = 0;  //PH2为0 则B线圈为反向电流
        I02 = 1;
        I12 = 1;   //输出0

        delay(speed);
        //0
        PH1 = 0;  //PH1为0 则A线圈为反向电流
    I01 = 1;  //输出0
        I11 = 1;
       

        PH2 = 1;  //PH2为1 则B线圈为正电流
        for(i = 0; i<3; i++)
        {  temp = P1;
           P1 = TableB;
           P1 = P1&temp;
           delay(1);
         }

        delay(speed);
        //B
        PH1 = 1;   //PH1为1 则A线圈为正向电流
        for(i = 0; i<3; i++)
        {  temp = P1;
           P1 = TableA;
           P1 = P1&temp;
           delay(1);
         }

        PH2 = 1;  //PH2为1 则B线圈为正向电流
        I02 = 1;  //输出0
        I12 = 1;
                   ////
        delay(speed);
        //0
        PH1 = 1;   //PH1为1 则A线圈为正向电流
        I01 = 1;
        I11 = 1;
       

        PH2 = 0;   //PH2为0 则B线圈为反向电流
        for(i = 0; i<3; i++)
        {  temp = P1;
           P1 = TableB;
           P1 = P1&temp;
           delay(1);
         }
        delay(speed);
               

}
ningling_21 发表于 2014-11-29 16:37 | 显示全部楼层
nature0 发表于 2014-11-29 16:33
你好,请再回答我一个问题,这有一个四线双极性步进电机正转程序,如何改成反转程序。
大神原谅我,问 ...

你只要明白步进电机 驱动的原理就能自己改了
ayb_ice 发表于 2014-12-3 10:56 | 显示全部楼层
建个函数,调用两次就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部