利用三个定时器驱动三个步进电机的STM32程序


利用三个定时器驱动三个42步进电机的STM32程序亲自试验的,用于驱动dobot机械臂,当然可以是可以应用在任何应用了42、57步进电机的机械(一个定时器驱动,会一直卡死在中断里,因此用的三个定时器)
资源截图
代码片段和文件信息
/**************************************************************************//**
 * @file     core_cm3.c
 * @brief    CMSIS Cortex-M3 Core Peripheral Access layer Source File
 * @version  V1.30
 * @date     30. October 2009
 *
 * @note
 * Copyright (C) 2009 ARM Limited. All rights reserved.
 *
 * @par
 * ARM Limited (ARM) is supplying this software for use with Cortex-M 
 * processor based microcontrollers.  This file can be freely distributed 
 * within development tools that are supporting such ARM based processors. 
 *
 * @par
 * THIS SOFTWARE IS PROVIDED “AS IS“.  NO WARRANTIES WHETHER EXPRESS IMPLIED
 * OR STATUTORY INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
 * ARM SHALL NOT IN ANY CIRCUMSTANCES BE LIABLE FOR SPECIAL INCIDENTAL OR
 * CONSEQUENTIAL DAMAGES FOR ANY REASON WHATSOEVER.
 *
 ******************************************************************************/

#include 

/* define compiler specific symbols */
#if defined ( __CC_ARM   )
  #define __ASM            __asm                                      /*!< asm keyword for ARM Compiler          */
  #define __INLINE         __inline                                   /*!< inline keyword for ARM Compiler       */

#elif defined ( __ICCARM__ )
  #define __ASM           __asm                                       /*!< asm keyword for IAR Compiler          */
  #define __INLINE        inline                                      /*!< inline keyword for IAR Compiler. Only avaiable in High optimization mode! */

#elif defined   (  __GNUC__  )
  #define __ASM            __asm                                      /*!< asm keyword for GNU Compiler          */
  #define __INLINE         inline                                     /*!< inline keyword for GNU Compiler       */

#elif defined   (  __TASKING__  )
  #define __ASM            __asm                                      /*!< asm keyword for TASKING Compiler      */
  #define __INLINE         inline                                     /*!< inline keyword for TASKING Compiler   */

#endif


/* ###################  Compiler specific Intrinsics  ########################### */

#if defined ( __CC_ARM   ) /*------------------RealView Compiler -----------------*/
/* ARM armcc specific functions */

/**
 * @brief  Return the Process Stack Pointer
 *
 * @return ProcessStackPointer
 *
 * Return the actual process stack pointer
 */
__ASM uint32_t __get_PSP(void)
{
  mrs r0 psp
  bx lr
}

/**
 * @brief  Set the Process Stack Pointer
 *
 * @param  topOfProcStack  Process Stack Pointer
 *
 * Assign the value ProcessStackPointer to the MSP 
 * (process stack pointer) Cortex processor register
 */
__ASM void __set_PSP(uint32_t topOfProcStack)
{
  msr psp r0
  bx lr
}

/**
 * @brief  Return the Main Stack Pointer
 *
 * @return Main Stack Pointer
 *
 * Return the curren

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-25 22:43  2018_3_25机械臂(三个定时器)
     目录           0  2018-03-25 22:43  2018_3_25机械臂(三个定时器)CORE
     文件       17273  2010-06-07 10:25  2018_3_25机械臂(三个定时器)COREcore_cm3.c
     文件       85714  2011-02-09 14:59  2018_3_25机械臂(三个定时器)COREcore_cm3.h
     文件       15503  2011-03-10 10:52  2018_3_25机械臂(三个定时器)COREstartup_stm32f10x_hd.s
     文件       12765  2011-03-10 10:52  2018_3_25机械臂(三个定时器)COREstartup_stm32f10x_md.s
     目录           0  2018-03-25 22:43  2018_3_25机械臂(三个定时器)HARDWARE
     目录           0  2018-03-31 13:44  2018_3_25机械臂(三个定时器)HARDWARELCD
     文件       16156  2012-08-25 14:01  2018_3_25机械臂(三个定时器)HARDWARELCDfont.h
     文件        5328  2018-02-28 21:38  2018_3_25机械臂(三个定时器)HARDWARELCDhz16x16.h
     文件       25835  2018-03-31 13:44  2018_3_25机械臂(三个定时器)HARDWARELCDhz24x24.h
     文件       22598  2018-02-28 16:44  2018_3_25机械臂(三个定时器)HARDWARELCDhz24x24.h~RF44c038.TMP
     文件       21229  2018-02-28 13:52  2018_3_25机械臂(三个定时器)HARDWARELCDhz24x24.h~RFb3ae69.TMP
     文件       67310  2017-10-18 00:14  2018_3_25机械臂(三个定时器)HARDWARELCDhz32x32.h
     文件       88818  2018-02-28 16:37  2018_3_25机械臂(三个定时器)HARDWARELCDlcd.c
     文件       10016  2017-10-18 00:14  2018_3_25机械臂(三个定时器)HARDWARELCDlcd.h
     目录           0  2018-03-25 22:43  2018_3_25机械臂(三个定时器)HARDWARELD3320
     文件       15460  2018-02-28 13:43  2018_3_25机械臂(三个定时器)HARDWARELD3320LD3320.c
     文件        2345  2017-04-14 00:52  2018_3_25机械臂(三个定时器)HARDWARELD3320LD3320.h
     文件        4643  2017-10-27 22:15  2018_3_25机械臂(三个定时器)HARDWARELD3320LD3320_config.h
     目录           0  2018-03-31 20:44  2018_3_25机械臂(三个定时器)OBJ
     文件      302476  2018-02-28 13:44  2018_3_25机械臂(三个定时器)OBJcommon.crf
     文件        1037  2018-02-28 13:44  2018_3_25机械臂(三个定时器)OBJcommon.d
     文件      326024  2018-02-28 13:44  2018_3_25机械臂(三个定时器)OBJcommon.o
     文件      314091  2018-03-31 20:44  2018_3_25机械臂(三个定时器)OBJcontrol.crf
     文件        1052  2018-03-31 20:44  2018_3_25机械臂(三个定时器)OBJcontrol.d
     文件      338060  2018-03-31 20:44  2018_3_25机械臂(三个定时器)OBJcontrol.o
     文件        3652  2018-03-31 15:39  2018_3_25机械臂(三个定时器)OBJcore_cm3.crf
     文件         104  2018-03-31 15:39  2018_3_25机械臂(三个定时器)OBJcore_cm3.d
     文件       11704  2018-03-31 15:39  2018_3_25机械臂(三个定时器)OBJcore_cm3.o
     文件      302963  2018-03-31 15:39  2018_3_25机械臂(三个定时器)OBJdelay.crf
............此处省略265个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)