找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2576|回复: 1
打印 上一主题 下一主题
收起左侧

STM32控制电机源程序 可实现角度控制

[复制链接]
跳转到指定楼层
楼主
ID:376908 发表于 2019-6-4 10:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
简单控制步进电机
可实现角度控制

单片机源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "key.h"
  6. GPIO_InitTypeDef GPIO_Initure;        
  7. TIM_HandleTypeDef TIM3_PWM_Handler;
  8. TIM_OC_InitTypeDef TIM3_OC_Init;

  9. void dianji_init()
  10. {
  11.                 GPIO_InitTypeDef GPIO_Initure;     //创建io口结构体
  12.         
  13.                 __HAL_RCC_GPIOI_CLK_ENABLE();                        //使能GPIOI时钟
  14.                
  15.                 GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_1;                        //PI0 PI1
  16.                 GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;                //输出模式
  17.                 GPIO_Initure.Speed=GPIO_SPEED_HIGH;                //高速
  18.     GPIO_Initure.Pull=GPIO_PULLUP;          //上拉                        
  19.                 HAL_GPIO_Init(GPIOI,&GPIO_Initure);                   //初始化PI0 PI1
  20.         

  21. }

  22. void dianji(u16 time,u16 maichong,u16 fx)
  23. {
  24.         u16 mc=0;
  25.         u16 clk=1;

  26.         if(fx==1)
  27.           HAL_GPIO_WritePin(GPIOI,GPIO_PIN_0,GPIO_PIN_SET);
  28.   else
  29.           HAL_GPIO_WritePin(GPIOI,GPIO_PIN_0,GPIO_PIN_RESET);        
  30.         
  31.         
  32.         while(mc<maichong)
  33.         { mc++;
  34.                 clk=!clk;
  35.                
  36.                 if(clk==1)
  37.                   HAL_GPIO_WritePin(GPIOI,GPIO_PIN_1,GPIO_PIN_SET);
  38.                 else
  39.                         HAL_GPIO_WritePin(GPIOI,GPIO_PIN_1,GPIO_PIN_RESET);
  40.                
  41.                 delay_ms(time);
  42.                
  43.         }
  44. }






  45. int main(void)
  46. {
  47.             dianji_init();
  48.                         Cache_Enable();                 //打开L1-Cache
  49.                         HAL_Init();                                        //初始化HAL库
  50.                         Stm32_Clock_Init(432,25,2,9);   //设置时钟,216Mhz
  51.                         delay_init(216);                //延时初始化
  52.         while(1)
  53.         {
  54.                 dianji(10,100,1);//以1圈/秒的速度旋转90度角
  55.            delay_ms(1000);
  56.         }
  57. }        
  58.         
复制代码

所有资料51hei提供下载:
180724电机驱动测试.7z (577.25 KB, 下载次数: 38)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2019-6-11 06:25 | 只看该作者
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表