你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32电机培训】- 实验4:基于MCSDK5.0 状态的切换

[复制链接]
TLLED 发布时间:2018-9-1 22:40
本帖最后由 TLLED 于 2018-9-1 22:40 编辑 实验4:基于MCSDK5.0 状态的切换。一、实验内容要求如下: 5.png 1.png 2.png 3.png 4.png 二、实验代码修改:修改main.c代码,修改的部分如下(红色字体)int main(void){  /* USER CODE BEGIN 1 */  State_t  ste;     //定义变量  /* USER CODE END 1 */  /* MCU Configuration----------------------------------------------------------*/  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */  HAL_Init();  /* USER CODE BEGIN Init */  /* USER CODE END Init */  /* Configure the system clock */  SystemClock_Config();  /* USER CODE BEGIN SysInit */  /* USER CODE END SysInit */  /* Initialize all configured peripherals */  MX_GPIO_Init();  MX_ADC1_Init();  MX_DAC_Init();  MX_TIM1_Init();  MX_USART2_UART_Init();  MX_MotorControl_Init();  /* Initialize interrupts */  MX_NVIC_Init();  /* USER CODE BEGIN 2 */  MC_StartMotor1();                                                       //启动电机  HAL_Delay(1000);  MC_ProgramSpeedRampMotor1(3000/6,1000);  //正转3000转  HAL_Delay(10000);                                                      //延时10s  MC_ProgramSpeedRampMotor1(-3000/6,1000);    //反转3000转  HAL_Delay(2000);  /* USER CODE END 2 */  /* Infinite loop */  /* USER CODE BEGIN WHILE */  while (1)  {    ste=MC_GetSTMStateMotor1();             //获取电机任务状态    if(ste==FAULT_OVER)                              //电机报错    {      MC_AcknowledgeFaultMotor1();           //清除故障          }    else if(ste == IDLE)                                  //恢复故障后,电机负3000转运行    {      MC_StartMotor1();      MC_ProgramSpeedRampMotor1(MC_GetLastRampFinalSpeedMotor1(), 1000);    }  /* USER CODE END WHILE */  /* USER CODE BEGIN 3 */    //State t sts_motor1 = MCI_GetSTMStateMotor1();    //STM_GetFaultState(&STM[M1]);  }  /* USER CODE END 3 */}三、执行结果: 6.png 7.png
收藏 评论2 发布时间:2018-9-1 22:40

举报

2个回答
STMCU-管管 回答时间:2018-9-11 14:28:44
谢谢分享
xiaozhou       回答时间:2020-12-30 17:22:30
好尴尬啊,为啥我的出不了故障,只添加了
  1.   /* USER CODE BEGIN 2 */
  2.                         
  3.   MC_ProgramSpeedRampMotor1(3000/6,1000);  
  4.         MC_StartMotor1();  
  5.   HAL_Delay(5000);                        
  6.   MC_ProgramSpeedRampMotor1(-3000/6,1000);
  7.   
  8.   /* USER CODE END 2 */
复制代码
可以顺利切换,从3000到-3000...

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版