初级会员
- 积分
- 147
- 金钱
- 147
- 注册时间
- 2011-7-2
- 在线时间
- 3 小时
|
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //GPIO状态恢复默认参数
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 ;
//管脚位置定义。
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出速度
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //输入输出模式
GPIO_Init(GPIOC, &GPIO_InitStructure); //初始化
}
void Delay(vu32 nCount)
Main:
RCC_Configuration(); //时钟初始化函数调用
NVIC_Configuration(); //中断初始化函数调用
GPIO_Configuration(); //管脚初始化函数调用
void Delay(vu32 nCount)
//控制GPIOC PC4 PC5 PC6 PC7 输出0 1不同实现步时电机的导通时序;四相八拍:a-ab-b-bc-c-cd-d-da
GPIO_WriteBit(GPIOc, GPIO_Pin_4, (BitAction)0x01);//写入1
GPIO_WriteBit(GPIOc, GPIO_Pin_5, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_6, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_7, (BitAction)0x00);//写入0
Delay_us(300); //
GPIO_WriteBit(GPIOc, GPIO_Pin_4, (BitAction)0x01);//写入1
GPIO_WriteBit(GPIOc, GPIO_Pin_5, (BitAction)0x01);//写入1
GPIO_WriteBit(GPIOc, GPIO_Pin_6, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_7, (BitAction)0x00);//写入0
Delay_us(300);
GPIO_WriteBit(GPIOc, GPIO_Pin_4, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_5, (BitAction)0x01);//写入1
GPIO_WriteBit(GPIOc, GPIO_Pin_6, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_7, (BitAction)0x00);//写入0
Delay_us(300);
GPIO_WriteBit(GPIOc, GPIO_Pin_4, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_5, (BitAction)0x01);//写入1
GPIO_WriteBit(GPIOc, GPIO_Pin_6, (BitAction)0x01);//写入1
GPIO_WriteBit(GPIOc, GPIO_Pin_7, (BitAction)0x00);//写入0
Delay_us(300);
GPIO_WriteBit(GPIOc, GPIO_Pin_4, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_5, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_6, (BitAction)0x01);//写入1
GPIO_WriteBit(GPIOc, GPIO_Pin_7, (BitAction)0x00);//写入0
Delay_us(300);
GPIO_WriteBit(GPIOc, GPIO_Pin_4, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_5, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_6, (BitAction)0x01);//写入1
GPIO_WriteBit(GPIOc, GPIO_Pin_7, (BitAction)0x01);//写入1
Delay_us(300);
GPIO_WriteBit(GPIOc, GPIO_Pin_4, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_5, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_6, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_7, (BitAction)0x01);//写入1
Delay_us(300);
GPIO_WriteBit(GPIOc, GPIO_Pin_4, (BitAction)0x01);//写入1
GPIO_WriteBit(GPIOc, GPIO_Pin_5, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_6, (BitAction)0x00);//写入0
GPIO_WriteBit(GPIOc, GPIO_Pin_7, (BitAction)0x01);//写入1
Delay_us(300);
}
请指点能不能实现在GPIOC PC4 PC5 PC6 PC7 输出0 1不同实现步时电机的导通时序;四相八拍:a-ab-b-bc-c-cd-d-da的要求?
程序有误,请重点看GPIO 设置及输出时序上!! 谢谢!!
|
|