OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 22627|回复: 26

stm32 步进电机代码

[复制链接]

13

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2013-8-5
在线时间
0 小时
发表于 2013-8-9 16:13:17 | 显示全部楼层 |阅读模式

#include "stm32f10x.h"
#include "BJMotor.h"
#include "delay.h"
int flag=0;
int i=0;
int main(void)
{

 EXTI_Config();//中断初始化
 Motor_GPIO_Config();//电机驱动口初始化
 while(1)
 {
  if(flag==0)
   for(i=0;i<8;i++)
  { 
   GPIO_Write(GPIOB,F_Rotation<<12);//电机正转
   delay_us(1000);//延时1ms
 }
 else if(flag==1)
  for(i=0;i<8;i++)
 { 
   GPIO_Write(GPIOB,B_Rotation<<12);//电机反转
   delay_us(1000);
 }
  else if(flag==2)           //电机停止转动
   GPIO_Write(GPIOB,0x00<<12);
 }
  
}


 


 

#ifndef __BJMotor_H__
#define __BJMotor_H__

static unsigned char  F_Rotation[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//正转表格
static unsigned char  B_Rotation[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};//反转表格
void NVIC_Configuration(void);//中断线及优先级配置
void EXTI_Config(void);//中断形式配置
void Motor_GPIO_Config(void);//电机驱动口配置

 

 

#endif


 

#include "stm32f10x.h"
#include "BJMotor.h"
#include "misc.h"
#include "delay.h"

 void NVIC_Configuration(void)//中断线及优先级配置
{
  NVIC_InitTypeDef NVIC_InitStructure;
 
  /* Configure one bit for preemption priority */
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);//设置优先级组1
 
  /* 配置P[A|B|C|D|E]5为中断源 */
  NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//抢占优先级
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;    //响应优先级
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;      //中断使能
  NVIC_Init(&NVIC_InitStructure);               //用结构体初始化
}


 void EXTI_Config(void)//中断形式配置
{
 GPIO_InitTypeDef GPIO_InitStructure;
 EXTI_InitTypeDef EXTI_InitStructure;

 /* config the extiline(PE5) clock and AFIO clock */
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO,ENABLE);//使能GPIOE及打开端口复用功(外部中断)
            
 /* config the NVIC(PE5) */
 NVIC_Configuration();

 /* EXTI line gpio config(PE5) */ 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;    //选择GPIO5      
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;  // 上拉输入
  GPIO_Init(GPIOE, &GPIO_InitStructure);

 /* EXTI line(PE5) mode config */
 GPIO_EXTILineConfig(GPIO_PortSourceGPIOE, GPIO_PinSource5);
  EXTI_InitStructure.EXTI_Line = EXTI_Line5;       //选择第5线作中断输入
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;    //模式选择Interrupt,Event  
  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //下降沿中断
  EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  EXTI_Init(&EXTI_InitStructure);
}


void Motor_GPIO_Config(void)//电机驱动口配置
{
 GPIO_InitTypeDef GPIO_InitStructure;
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15 | GPIO_Pin_14
                | GPIO_Pin_13 | GPIO_Pin_12;   //高四位驱动作线
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;       //推挽输出
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;       //速率50Mhz
  GPIO_Init(GPIOB, &GPIO_InitStructure);
}

 

 

                     

步进电机代码.zip

303.94 KB, 下载次数: 1466

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2013-8-5
在线时间
0 小时
 楼主| 发表于 2013-8-9 16:15:21 | 显示全部楼层
回复【楼主位】Orange:
---------------------------------
自己顶一个~~~~
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-9 18:04:24 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

13

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2013-8-5
在线时间
0 小时
 楼主| 发表于 2013-8-9 18:21:01 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
弄了半天才弄好,继续努力~~
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-9 18:22:13 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

59

主题

189

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
金钱
451
注册时间
2012-4-11
在线时间
1 小时
发表于 2013-8-10 10:17:55 | 显示全部楼层
郁闷 为什么我的步进电机能反转 不能正转哪???、
回复 支持 反对

使用道具 举报

13

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2013-8-5
在线时间
0 小时
 楼主| 发表于 2013-8-10 12:22:31 | 显示全部楼层
回复【6楼】shenhao7752376:
---------------------------------
正反转代码对没有
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2013-8-12
在线时间
0 小时
发表于 2013-8-12 17:07:07 | 显示全部楼层
求源代码,工程文件,俺是STM32新手,不会建写具体代码,只能看懂以及在源代码修改。求源码。
回复 支持 反对

使用道具 举报

2

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-7-17
在线时间
0 小时
发表于 2013-8-12 19:11:32 | 显示全部楼层
顶!
回复 支持 反对

使用道具 举报

13

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2013-8-5
在线时间
0 小时
 楼主| 发表于 2013-8-13 02:16:51 | 显示全部楼层
回复【8楼】smileykp:
---------------------------------
给个邮箱,我发给你
回复 支持 反对

使用道具 举报

6

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2013-7-25
在线时间
0 小时
发表于 2013-9-10 21:17:28 | 显示全部楼层
回复【楼主位】Orange:
---------------------------------
你好  可以给一些步进电机的资料给我么?   谢谢啦。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2013-11-25
在线时间
5 小时
发表于 2013-11-27 17:03:31 | 显示全部楼层
回复【10楼】Orange:
---------------------------------
给我也发一份源码的呗,谢谢,523110681@qq.com
回复 支持 反对

使用道具 举报

14

主题

80

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
339
金钱
339
注册时间
2013-1-1
在线时间
6 小时
发表于 2013-11-28 11:19:38 | 显示全部楼层
请问用什么牌子的步进电机呢?电压多少呢?经常看到的都是减速的,转得超慢....
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2014-1-21
在线时间
0 小时
发表于 2014-1-21 19:45:55 | 显示全部楼层
想知道设置的中断是干嘛的  没看到中断响应函数啊
回复 支持 反对

使用道具 举报

55

主题

243

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1608
金钱
1608
注册时间
2012-12-30
在线时间
241 小时
发表于 2014-1-21 20:05:14 | 显示全部楼层
回复【楼主位】Orange:
---------------------------------
LZ用的是什么步进电机? 最快转速是多少?
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-10-26
在线时间
16 小时
发表于 2015-10-27 09:49:28 | 显示全部楼层
回复【10楼】Orange:
---------------------------------
楼主好人,能发我一份控制步进电机的源代码吗?1453767047@qq.com
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2015-10-26
在线时间
16 小时
发表于 2015-10-27 09:49:59 | 显示全部楼层
回复【2楼】Orange:
---------------------------------
楼主好人,能发我一份控制步进电机的源代码吗?1453767047@qq.com
回复 支持 反对

使用道具 举报

2

主题

4

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2015-10-9
在线时间
6 小时
发表于 2015-10-28 08:06:24 | 显示全部楼层
楼主好人,能发我一份控制步进电机的源代码吗?294305151@qq.com
回复 支持 反对

使用道具 举报

7

主题

64

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2015-11-28
在线时间
30 小时
发表于 2015-11-28 19:01:27 | 显示全部楼层
很不错,想知道怎么控制步进电机加减速。
回复 支持 反对

使用道具 举报

2

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2016-1-17
在线时间
9 小时
发表于 2016-3-8 13:45:20 | 显示全部楼层
求源代码,工程文件,谢谢了 我邮箱1020308783@qq.com
回复 支持 反对

使用道具 举报

7

主题

64

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2015-11-28
在线时间
30 小时
发表于 2016-3-17 16:48:05 | 显示全部楼层
楼主,我也求一份源文件,谢谢啦381781382@qq.com,祝好
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-3-8
在线时间
4 小时
发表于 2016-3-17 21:52:45 | 显示全部楼层
顶顶
回复 支持 反对

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-4-5
在线时间
32 小时
发表于 2016-4-11 10:44:44 | 显示全部楼层
谢谢楼主,新手下载学习学习
回复 支持 反对

使用道具 举报

头像被屏蔽

7

主题

21

帖子

0

精华

禁止发言

积分
1370
金钱
1370
注册时间
2011-6-12
在线时间
142 小时
发表于 2016-4-19 15:26:17 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

5

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2015-1-25
在线时间
7 小时
发表于 2016-4-20 21:16:11 | 显示全部楼层
楼主能把源码给我发一份吗?我现在做步进电机的控制,有电机跟驱动器,研究的库函数版本的代码,想在前辈的基础上改一下代码,谢啦。邮箱1781247769@qq.com
专注
回复 支持 反对

使用道具 举报

STAR0081 该用户已被删除
发表于 2017-3-2 22:34:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2017-11-3
在线时间
8 小时
发表于 2017-12-6 21:50:06 | 显示全部楼层
qiuhao_li@163.com   谢谢楼主
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-11 23:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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