接上篇:直播培训电机Profile生成使用 o# r3 k- s6 f2 B7 j, G9 e9 Y
# P6 G" [1 v9 y, m8 V* o" v# @一、练习要求见下图8 k- q7 C/ b' T1 n9 f2 F" Z. _8 b
5 D& r, a# J; _* x
5 n8 J! U7 R9 M% E$ S: Z6 c, O1 u; ?3 I0 x
二、以下是代码实现,工程是在上一贴基础上修改的,直接将main.c中main函数中while(1){...}部分替换为以下内容后编译下载即可。上一贴地址:【电机套件 P-NUCLEO-IHM002】五、直播培训电机Profile生成使用 b& d: a+ X6 L6 Q; A
- //设置转速为3000RPM
( @* R3 e" k" m5 w% A - MCI_ExecSpeedRamp(oMCI[M1], 3000/6, 0);//3000RPM=3000/6(参数单位0.1HZ),为了尽快达到目标转速,这里将参数3直接设为0) J4 Z: T/ ^' }% y' o4 y
- " }( s! M! `+ i7 h1 v- A! |
- while(1) {* {9 f+ V: ?. q$ K7 T% h
- //电机转动5秒& _1 d9 R" @. T8 c
- MCI_StartMotor(oMCI[M1]);1 R6 X7 D) U" E! ]$ {- e
- TB_SetUserTimebaseTime(SYS_TICK_FREQUENCY * 5); //设置延时时间5s- ^% V2 Q8 d# O1 M5 O
- while(!TB_UserTimebaseHasElapsed()) {} //等待延时结束6 a( Q e' I1 A, E c/ V$ r9 v
- - x. {2 w+ Z" m3 ?9 Y' \
- //电机停止5秒+ _% M' B% A. g" z0 S$ X+ j- n& Y
- MCI_StopMotor(oMCI[M1]);6 c& r' m& j! F' V6 `' [! B
- TB_SetUserTimebaseTime(SYS_TICK_FREQUENCY * 5); //设置延时时间5s' p* B/ f( ?- y, A# u4 Z
- while(!TB_UserTimebaseHasElapsed()) {} //等待延时结束, F0 t0 e1 X5 s
- }
复制代码
! T6 c$ J; N& J% Z( P$ `# ?5 N0 G) {7 j% d3 p
三、效果展示
- d9 k `2 v8 t W$ E- ]
|