本帖最后由 zhdzhd-174422 于 2018-8-31 22:05 编辑 & T0 G7 k- _+ c- { 个人感觉ST的测试任务就是让使用者熟悉SDK 的函数和Workbench软件的操作使用。 2 y9 z' Q9 A8 |7 {, t 一、任务要求如下: 二、工程代码* C2 S, q+ w) P/ t/ @, D h 工程代码是在上一贴基础上修改的(上一贴地址: https://www.stmcu.org.cn/module/forum/thread-617267-1-1.html ),直接将main.c中main函数中 while (1) { n, l- _) M1 F/ y) x6 y /* USER CODE END WHILE */ }! w9 K; }, B, R0 ^$ r4 Q& R , z. n; ?2 I# X8 C4 P+ V X! T2 I . k, d2 t" u9 M6 @! w# Y/ ` /* USER CODE BEGIN 3 */4 R8 j" p, w' S+ ?+ }! K/ t& u/ Q //添加的代码4 [! P; r8 i4 U& j" ] }2 p* x' ^& M- r; i& t /* USER CODE END 3 */" ^9 a* W9 g# C- [ 9 h/ s ], X/ x; V. O & d# c$ `9 G( [" G1 z" Z ; |; _. V4 z6 w1 ]) ]" A 增加自己的代码编译而来。1 ]$ ]8 E. ?% E' n1 Z: G4 w( c 代码如下:& P$ ~$ g3 ^/ ~$ V( ` MC_ProgramSpeedRampMotor1(3000/6,1000); //设定转速为30001 n1 b# U4 f: ]. t MC_StartMotor1(); //马达运转 HAL_Delay(10000); //延时10S4 a8 Y8 F( [. f$ Z. U/ e+ s MC_StopMotor1(); //马达停转$ y6 a" J. U* v' L HAL_Delay(5000); //延时5S ! _1 I$ G; m0 k: x7 I IDE编程图:! g, ?3 _8 k' a MDK1 X p# H5 p4 q7 b0 A3 \8 a( ] IAR 三、运转效果: 四、用Workbench查看运行状态以及用Plott查看波形: 转速启停都是3000 转动10S,停止5S的波形 任务完成! # z2 L# s3 n+ J/ \ b0 H2 m7 A 带着年欣慰的心情写完此贴,一看时间,晕!!已经深夜1点半了。。。睡觉了,晚安各位! & I8 e) O( h5 ~. ] @# g5 l |
我写进去报错。
啥意思
MC_ProgramSpeedRampMotor1(3000/6,1000); //设定转速为3000 ] L# H" L' p2 W$ S# e& S
这里为什么要除以6呢
ST电机库约定参数为01HZ的转速,所以需要除6