新手上路!!求大佬们指点啊!!!

2019-08-16 20:44发布

要用stm32f103c8控制步进电机旋转角度,要用到AD转换,现在步进电机已经可以转动了,想要用AD那个返回值给步进电机来控制步进电机 的旋转角度,但是步进电机一直没反应啊,本来还转,一加AD就不转了是为什么啊??
求大佬们指点指点啊!!!
int main(void)
{       
          unsigned int s;
         u16 adcx;
         float temp;
         delay_init();       
         
         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//éèÖÃÖD¶ÏóÅÏ輶·Ö×éÎa×é2£o2λÇàÕ¼óÅÏ輶£¬2λÏìó|óÅÏ輶
         uart_init(115200);                 //′®¿ú3õê¼»ˉÎa115200
                 
         Adc_Init();       
         
         while(1)
        {
       
         adcx=Get_Adc_Average(ADC_Channel_1,10);
                               
                qudong(adcx);

         }
int qudong(unsigned int b)
{       
         u32 speed=50;
         u32 i=b;
         
  GPIO_InitTypeDef  GPIO_InitStructure;
         
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);            //ê1ÄüPB,PE¶Ë¿úê±Öó

         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_0|GPIO_Pin_10|GPIO_Pin_11;                            //LED0-->PB.5 ¶Ë¿úÅäÖÃ
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;          //íÆíìêä3ö
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         //IO¿úËù¶èÎa50MHz

         GPIO_Init(GPIOB, &GPIO_InitStructure);                             //3õê¼»ˉGPIOB.5
  GPIO_SetBits(GPIOB,GPIO_Pin_1);                                        //PB.5 êä3ö¸ß

         //GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;                    //LED1-->PE.5íÆíìêä3ö
  GPIO_Init(GPIOB, &GPIO_InitStructure);                         //3õê¼»ˉGPIO
  GPIO_SetBits(GPIOB,GPIO_Pin_0);                          //PE.5 êä3ö¸ß           
         
         GPIO_Init(GPIOA, &GPIO_InitStructure);                         //3õê¼»ˉGPIO
  GPIO_SetBits(GPIOB,GPIO_Pin_10);
         
         GPIO_Init(GPIOA, &GPIO_InitStructure);                         //3õê¼»ˉGPIO
  GPIO_SetBits(GPIOB,GPIO_Pin_11);
       
  while(i--)
        {
            //GPIO_ResetBits(GPIOB,GPIO_Pin_0);
           // GPIO_SetBits(GPIOB,GPIO_Pin_1);
                PBout(0)=1;
                PBout(1)=0;
                PBout(10)=0;
                PBout(11)=0;
                Delay(speed);
                //GPIO_SetBits(GPIOB,GPIO_Pin_0);
                //GPIO_ResetBits(GPIOB,GPIO_Pin_1);
                PBout(0)=0;
                PBout(1)=1;
                PBout(10)=0;
                PBout(11)=0;
                Delay(speed);
               
                PBout(0)=0;
                PBout(1)=0;
                PBout(10)=1;
                PBout(11)=0;
                Delay(speed);
               
                PBout(0)=0;
                PBout(1)=0;
                PBout(10)=0;
                PBout(11)=1;
                Delay(speed);
        }
                PBout(0)=0;
                PBout(1)=0;
                PBout(10)=0;
                PBout(11)=0;
                Delay(speed);
        i=b;
         while(i--)
        {
            //GPIO_ResetBits(GPIOB,GPIO_Pin_0);
           // GPIO_SetBits(GPIOB,GPIO_Pin_1);
                PBout(0)=0;
                PBout(1)=0;
                PBout(10)=0;
                PBout(11)=1;
                Delay(speed);
                //GPIO_SetBits(GPIOB,GPIO_Pin_0);
                //GPIO_ResetBits(GPIOB,GPIO_Pin_1);
                PBout(0)=0;
                PBout(1)=0;
                PBout(10)=1;
                PBout(11)=0;
                Delay(speed);
               
                PBout(0)=0;
                PBout(1)=1;
                PBout(10)=0;
                PBout(11)=0;
                Delay(speed);
               
                PBout(0)=1;
                PBout(1)=0;
                PBout(10)=0;
                PBout(11)=0;
                Delay(speed);
        }
        return 0;
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
hbl
1楼-- · 2019-08-17 00:13
正点原子 发表于 2017-7-23 00:25
帮顶

大佬!!那个问题已经弄好了,但是用电位器转换AD调节控制步进电机转动角度的时候不均匀是咋回事啊???就是有时轻轻转一下电位器步进电机就转好多,有时电位器转很多才转好小角度??求大佬指点啊!!!
正点原子
2楼-- · 2019-08-17 01:13
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-08-17 07:09
hbl 发表于 2017-7-23 10:31
大佬!!那个问题已经弄好了,但是用电位器转换AD调节控制步进电机转动角度的时候不均匀是咋回事啊???就 ...

你自己分析下原始数据,就知道问题在哪里了

一周热门 更多>