本帖最后由 zhdzhd-174422 于 2018-8-31 22:05 编辑 , F% D! b6 G; X: K9 L b, n 4 W- k. x$ A5 L 个人感觉ST的测试任务就是让使用者熟悉SDK 的函数和Workbench软件的操作使用。5 Y2 _1 I2 K; k9 z$ m' X 5 }5 |& R n8 ^2 D, ^% A* Q7 ~ 一、任务要求如下: 7 `0 I5 f$ M+ J* s 9 _. B- Z+ x6 K0 E+ H8 f 二、工程代码 工程代码是在上一贴基础上修改的(上一贴地址: https://www.stmcu.org.cn/module/forum/thread-617267-1-1.html ),直接将main.c中main函数中 while (1)8 Z2 s5 k2 m; A" |, x$ ` { 3 x( Y& |; L7 d( D3 C& K6 N Q! M1 r M8 {5 Z /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */* N/ x$ o, q" z) F$ l2 ? //添加的代码 }2 ]; v+ `* H* S* D. \* z' J /* USER CODE END 3 */ 7 @+ X- Y7 x4 _9 E$ N ; ~: S2 L" [7 `& ^6 q+ r H 4 \% \; S4 o7 { 6 Z- M" V+ H8 n2 ?2 v 增加自己的代码编译而来。 代码如下: MC_ProgramSpeedRampMotor1(3000/6,1000); //设定转速为30009 q9 o$ T; ]. ~ MC_StartMotor1(); //马达运转# k- g% p' v' k# V ` HAL_Delay(10000); //延时10S MC_StopMotor1(); //马达停转$ B8 {7 G" ~" f* \3 T HAL_Delay(5000); //延时5S 3 p9 G8 a; ?5 t) n' `7 m! @& \# R IDE编程图:9 b/ n) m- W! u 5 ] g6 }+ ~* P. `3 r% N MDK IAR0 F! k4 z% f4 B 三、运转效果:6 a& w( `+ U( ~; y+ z$ H0 O) | 四、用Workbench查看运行状态以及用Plott查看波形: 转速启停都是3000* e1 {0 Y/ I% i3 P. @ 转动10S,停止5S的波形: M9 P) a" a/ t A$ U, `8 |. K 任务完成! 带着年欣慰的心情写完此贴,一看时间,晕!!已经深夜1点半了。。。睡觉了,晚安各位!/ g: Y0 J1 j" v% c) E6 Z # K5 Q6 U1 `4 f% b7 y* X! g 2 Q& C) I" c6 W$ H & c2 k: Y; P3 b7 g" r 8 z! w5 e* x0 m7 z/ R - b9 v8 A4 X( L' _ $ R, `8 g; v" s; ~3 c: o* ]/ Q7 o' ] |
我写进去报错。
啥意思
MC_ProgramSpeedRampMotor1(3000/6,1000); //设定转速为30002 f, }& h) ?% V, J) ~2 K; s
这里为什么要除以6呢
ST电机库约定参数为01HZ的转速,所以需要除6