本程序用于控制步进电机,每转16圈变向。 代码如下 - #include "stm32f10x.h" // Device header
- #include "Delay.h"
-
- int main(void)
- {
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
-
- GPIO_InitTypeDef GPIO_InitStructure;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOA, &GPIO_InitStructure);
- int i=1;
- int a=0;
- int b=0;
- while (1)
- {
- b++;
- if (i==1)
- {
- GPIO_SetBits(GPIOA, GPIO_Pin_0);
- GPIO_ResetBits(GPIOA, GPIO_Pin_1);
- GPIO_ResetBits(GPIOA, GPIO_Pin_2);
- GPIO_ResetBits(GPIOA, GPIO_Pin_3);
- Delay_ms(1);
- }
- if (i==2)
- {
- GPIO_SetBits(GPIOA, GPIO_Pin_0);
- GPIO_SetBits(GPIOA, GPIO_Pin_1);
- GPIO_ResetBits(GPIOA, GPIO_Pin_2);
- GPIO_ResetBits(GPIOA, GPIO_Pin_3);
- Delay_ms(1);
- }
- if (i==3)
- {
- GPIO_ResetBits(GPIOA, GPIO_Pin_0);
- GPIO_SetBits(GPIOA, GPIO_Pin_1);
- GPIO_ResetBits(GPIOA, GPIO_Pin_2);
- GPIO_ResetBits(GPIOA, GPIO_Pin_3);
- Delay_ms(1);
- }
- if (i==4)
- {
- GPIO_ResetBits(GPIOA, GPIO_Pin_0);
- GPIO_SetBits(GPIOA, GPIO_Pin_1);
- GPIO_SetBits(GPIOA, GPIO_Pin_2);
- GPIO_ResetBits(GPIOA, GPIO_Pin_3);
- Delay_ms(1);
- }
- if (i==5)
- {
- GPIO_ResetBits(GPIOA, GPIO_Pin_0);
- GPIO_ResetBits(GPIOA, GPIO_Pin_1);
- GPIO_SetBits(GPIOA, GPIO_Pin_2);
- GPIO_ResetBits(GPIOA, GPIO_Pin_3);
- Delay_ms(1);
- }
- if (i==6)
- {
- GPIO_ResetBits(GPIOA, GPIO_Pin_0);
- GPIO_ResetBits(GPIOA, GPIO_Pin_1);
- GPIO_SetBits(GPIOA, GPIO_Pin_2);
- GPIO_SetBits(GPIOA, GPIO_Pin_3);
- Delay_ms(1);
- }
- if (i==7)
- {
- GPIO_ResetBits(GPIOA, GPIO_Pin_0);
- GPIO_ResetBits(GPIOA, GPIO_Pin_1);
- GPIO_ResetBits(GPIOA, GPIO_Pin_2);
- GPIO_SetBits(GPIOA, GPIO_Pin_3);
- Delay_ms(1);
- }
- if (i==8)
- {
- GPIO_SetBits(GPIOA, GPIO_Pin_0);
- GPIO_ResetBits(GPIOA, GPIO_Pin_1);
- GPIO_ResetBits(GPIOA, GPIO_Pin_2);
- GPIO_SetBits(GPIOA, GPIO_Pin_3);
- Delay_ms(1);
- }
- if (a==0)
- {
- i++;
- if(i==9)
- i=1;
- }
- if (a==1)
- {
- i--;
- if(i==0)
- i=8;
- }
- if(b==5000)
- {
- if(a==0)
- {a=1;
- b=0;}
- }
- if(b==65536)
- {
- if(a==1)
- {a=0;
- b=0;}
- }
- }
- }
|