标题:
STM32控制电机源程序 可实现角度控制
[打印本页]
作者:
56456464
时间:
2019-6-4 10:47
标题:
STM32控制电机源程序 可实现角度控制
简单控制步进电机
可实现角度控制
单片机源程序如下:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "key.h"
GPIO_InitTypeDef GPIO_Initure;
TIM_HandleTypeDef TIM3_PWM_Handler;
TIM_OC_InitTypeDef TIM3_OC_Init;
void dianji_init()
{
GPIO_InitTypeDef GPIO_Initure; //创建io口结构体
__HAL_RCC_GPIOI_CLK_ENABLE(); //使能GPIOI时钟
GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_1; //PI0 PI1
GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP; //输出模式
GPIO_Initure.Speed=GPIO_SPEED_HIGH; //高速
GPIO_Initure.Pull=GPIO_PULLUP; //上拉
HAL_GPIO_Init(GPIOI,&GPIO_Initure); //初始化PI0 PI1
}
void dianji(u16 time,u16 maichong,u16 fx)
{
u16 mc=0;
u16 clk=1;
if(fx==1)
HAL_GPIO_WritePin(GPIOI,GPIO_PIN_0,GPIO_PIN_SET);
else
HAL_GPIO_WritePin(GPIOI,GPIO_PIN_0,GPIO_PIN_RESET);
while(mc<maichong)
{ mc++;
clk=!clk;
if(clk==1)
HAL_GPIO_WritePin(GPIOI,GPIO_PIN_1,GPIO_PIN_SET);
else
HAL_GPIO_WritePin(GPIOI,GPIO_PIN_1,GPIO_PIN_RESET);
delay_ms(time);
}
}
int main(void)
{
dianji_init();
Cache_Enable(); //打开L1-Cache
HAL_Init(); //初始化HAL库
Stm32_Clock_Init(432,25,2,9); //设置时钟,216Mhz
delay_init(216); //延时初始化
while(1)
{
dianji(10,100,1);//以1圈/秒的速度旋转90度角
delay_ms(1000);
}
}
复制代码
所有资料51hei提供下载:
180724电机驱动测试.7z
(577.25 KB, 下载次数: 38)
2019-6-11 06:24 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
admin
时间:
2019-6-11 06:25
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1