资源简介
stm32单片机控制42步进电机,能够实现x,y轴水平移动。
代码片段和文件信息
/*******************************************************************************
* 文件名 : main.c
* 作者 : jackice
* 时间 :2013/8/10
* 文件描述 : EN:PA.0 CLK:PA.1;DIR:PA.2
******两个电机同时走动,可以通过给定不同频率的脉冲、不同脉冲数达到两个电机走速不同,走的距离不同************
**********134个脉冲 电机走1mm;1345个脉冲 电机走10mm;13450个脉冲电机走100mm;******
********************************************************************************/
/* 头文件 ------------------------------------------------------------------*/
#include “stm32f10x_lib.h“
#define en0_0() GPIO_ResetBits(GPIOA GPIO_Pin_0) //宏定义
#define en0_1() GPIO_SetBits(GPIOA GPIO_Pin_0)
#define en1_0() GPIO_ResetBits(GPIOA GPIO_Pin_4) //宏定义
#define en1_1() GPIO_SetBits(GPIOA GPIO_Pin_4)
#define clk0_0() GPIO_ResetBits(GPIOA GPIO_Pin_1)
#define clk0_1() GPIO_SetBits(GPIOA GPIO_Pin_1)
#define clk1_0() GPIO_ResetBits(GPIOA GPIO_Pin_5)
#define clk1_1() GPIO_SetBits(GPIOA GPIO_Pin_5)
#define dir0_0() GPIO_ResetBits(GPIOA GPIO_Pin_2)
#define dir0_1() GPIO_SetBits(GPIOA GPIO_Pin_2)
#define dir1_0() GPIO_ResetBits(GPIOA GPIO_Pin_3)
#define dir1_1() GPIO_SetBits(GPIOA GPIO_Pin_3)
/* 自定义同义关键字 --------------------------------------------------------*/
/* 自定义参数宏 --------------------------------------------------------*/
/* 自定义函数宏 --------------------------------------------------------*/
/* 自定义变量 --------------------------------------------------------*/
/* 自定义函数声明 --------------------------------------------------------*/
void RCC_Configuration(void);
void GPIO_Configuration(void);
void delay(u32 i);
void motor_contrl(u32 Xstepsu8 Xdirectionu16 Xspeedu32 Ystepsu8 Ydirectionu16 Yspeedu32 setps);
/*******************************************************************************
* 函数名 : main
* 函数描述 : 无
* 输入参数 : 无
* 输出结果 : 无
* 返回值 : 无
*******************************************************************************/
int main(void)
{
/* 设置系统时钟 */
RCC_Configuration();
/* 设置GPIO端口 */
GPIO_Configuration();
/*打开使能端*/
en0_1();
en1_1();
while(1)
{
motor_contrl(10310313450);
delay(100000);
motor_contrl(11311313450);
delay(100000);
}
}
/*******************************************************************************
* 函数名 : RCC_Configuration
* 函数描述 : 设置系统各部分时钟
* 输入参数 : 无
* 输出结果 : 无
* 返回值 : 无
*******************************************************************************/
void RCC_Configuration(void)
{
/* 定义枚举类型变量 HSEStartUpStatus */
ErrorStatus HSEStartUpStatus;
/* 复位系统时钟设置*/
RCC_DeInit();
/* 开启HSE*/
RCC_HSEConfig(RCC_HSE_ON);
/* 等待HSE起振并稳定*/
HSEStartUpStatus = RCC_WaitForHSEStartUp();
/* 判断HSE起是否振成功,是则进入if()内部 */
if(HSEStartUpStatus == SUCCESS)
{
/* 选择HCLK(AHB)时钟源为SYSCLK 1分频 */
RCC_HCLKCon
相关资源
- STM32F103C8T6 V1_2原理图
- stm32 syn6288语音模块程序
- 通用红外遥控设备.zip
- 89C52RC+A4988 控制步进电机和5V线激光
- grbl1.1f20170801-stm32f103c8t6
- STM32F103ZET6原理图引脚封装
- 几个步进电机proteus资源整合 注意is
- STM32f103的DS18B20温度读取
- 步进电机FPGA_S曲线程序
- stm32-tm1650驱动程序带pdf文件
- stm32移植modbus,亲测可用
- can总线步进电机驱动器
- stm32F103通过IIC读取MPU9250用DMP融合得到
- 鸥鹏stm32教程配套
- STM32F103ZET6最小系统板原理图
- STM32 串口 Modbus RTU 协议 代码
- 声源定位程序
- STM32-无刷直流电机控制器程序
- Altium designer STM32元件库
- SPWM波产生STM32F103 DMA
- STM32F103测频率
- STM32F103+DAC8552
- STM32 4*4按键
- STM32全系列芯片封装库,最齐全封装库
- STM32F407最小系统板(SWD口)
- 基于arduino mega2560的步进电机控制
- 步进电机TB6560AHQ封装附3D封装
- STM32F103C8T6 LCD12864 串行通信
- STM32驱动ht1621b显示LCD
- STM32 F4系列所有原理图及PCB封装库
评论
共有 条评论