找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1768|回复: 1
收起左侧

STM32F10X电机驱动程序

[复制链接]
ID:382001 发表于 2018-8-2 09:40 | 显示全部楼层 |阅读模式
STM32F10X电机驱动程序

单片机源程序如下:

  1. #include "User_ALL.h"
  2. unsigned char ledcnt;

  3. u8 IWDGcnt;





  4. /**********************************************
  5. * 函 数 名:IWDG_Feed
  6. * 函数功能:喂狗函数
  7. * 函数说明:
  8. * 输    入:void
  9. * 输    出:
  10. * 返    回:void
  11. ***********************************************/
  12. void IWDG_Feed(void)
  13. {
  14.     if(IWDGcnt==1)
  15.     {
  16.             ClrWDI;
  17.             IWDGcnt = 0;  
  18.     }
  19.     else
  20.     {
  21.             SetWDI;
  22.             IWDGcnt = 1;  
  23.     }
  24. }

  25. /***************************************************************
  26. * 函 数 名:Hardware_Init
  27. * 函数功能:硬件初始化
  28. * 函数说明:初始化RCC,NVIC,GPIO,USART,ADC1,DMA,EXTI,TIM2,TIM7
  29. * 输    入:void
  30. * 输    出:
  31. * 返    回:void
  32. ***************************************************************/
  33. void Hardware_Init(void)
  34. {
  35.         RCC_Configuration();   
  36.         NVIC_Configuration();
  37.         GPIO_Configuration();
  38.         USART_Configuration();       
  39.         ADC1_Configuration();
  40.         DMA_Configuration();
  41.         EXTI_Configuration();

  42.         TIM2_Init(1000,36);          //1000=0.5ms
  43.         TIM7_Init();

  44. }



  45. /***************************************************************
  46. * 函 数 名:App_Init
  47. * 函数功能:应用初始化
  48. * 函数说明:
  49. * 输    入:void
  50. * 输    出:
  51. * 返    回:void
  52. ***************************************************************/
  53. void App_Init(void)
  54. {

  55.         Disable_Uart1();
  56.         En_Uart1_INT(115200);
  57.         Init_Motor();


  58. }


  59. /***************************************************************
  60. * 函 数 名:DisRunLED
  61. * 函数功能:运行灯指示程序
  62. * 函数说明:
  63. * 输    入:void
  64. * 返    回:void
  65. ***************************************************************/
  66. void DisRunLED(void)
  67. {
  68.         if(time_1S == 0)
  69.         {
  70.                 time_1S = 1000;
  71.                 IWDG_Feed();

  72.                 if(ledcnt==0)
  73.                 {
  74.                         RunLed_ON;
  75.                         ledcnt++;
  76.                 }
  77.                 else
  78.                 {
  79.                         RunLed_OFF;
  80.                         ledcnt = 0;
  81.                 }
  82.         }

  83. }



  84. int main(void)
  85. {
  86.         IWDGcnt=0;
  87. //        IWDG_Feed();
  88.         Hardware_Init();
  89.         App_Init();
  90. //        IWDG_Feed();
  91.         ALLLed_ON;
  92.         time_1S = 200;
  93.         while(time_1S);
  94.         ALLLed_OFF;
  95.         time_500mS = 0;
  96.         time_30mS = 0;
  97.         for(;;)
  98.         {
  99.                 DisRunLED();
  100.                 MotorToQD();
  101.                 StopMotor();
  102.                 Fun_Processing_US1_Rec(Uart_xQueue1);

  103.         }
  104. }
复制代码

所有资料51hei提供下载:
电机驱动.rar (6.2 MB, 下载次数: 15)
回复

使用道具 举报

ID:1 发表于 2018-8-3 17:06 | 显示全部楼层
补全电路与说明后才可获得积分
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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