本帖最后由 zhdzhd-174422 于 2018-8-31 22:05 编辑 7 l& o- _& B. X: u& z 个人感觉ST的测试任务就是让使用者熟悉SDK 的函数和Workbench软件的操作使用。6 c) F3 G5 @- G9 r; Q) N: D3 S6 K 6 C0 `. j: X$ s" t" [ 一、任务要求如下: ) i* c3 D6 V F8 k 9 P: o* ~8 L9 B$ k) @. w: S% O 二、工程代码, b& U( H% l) X6 _/ D; \. u 工程代码是在上一贴基础上修改的(上一贴地址: https://www.stmcu.org.cn/module/forum/thread-617267-1-1.html ),直接将main.c中main函数中9 u, g- t U* m) I5 G+ w; t while (1). R5 R. ?( {5 j0 ] { ' P" R* I" T0 l /* USER CODE END WHILE */ n0 U9 l7 g. F" @. E 2 y( M' s: ^) y8 W+ @ /* USER CODE BEGIN 3 */- @& X# K5 f; W5 _ //添加的代码$ C! | p1 b) b% ~ |% E+ O }8 y t) H# @" z' V" f( g1 n7 b7 P /* USER CODE END 3 */ 0 l3 \& p8 H, O) n; A# f; o 7 \: P7 E2 s3 t4 F' G9 H 增加自己的代码编译而来。 代码如下:1 @3 v i% K& u MC_ProgramSpeedRampMotor1(3000/6,1000); //设定转速为3000: e7 ]* T' }$ j- p! i MC_StartMotor1(); //马达运转/ B: P! D; O! Z4 R1 J! K* ~ HAL_Delay(10000); //延时10S MC_StopMotor1(); //马达停转3 @! U& m) \! e0 S HAL_Delay(5000); //延时5S * C) I2 j5 G E IDE编程图:9 p# q6 B. B) @( u9 _) K MDK, z5 }$ `" q; M) h IAR9 k( J. n; a' ] O/ z. B, P 三、运转效果: 四、用Workbench查看运行状态以及用Plott查看波形: 转速启停都是3000% j ~% i$ B% J/ r 转动10S,停止5S的波形 任务完成! 带着年欣慰的心情写完此贴,一看时间,晕!!已经深夜1点半了。。。睡觉了,晚安各位! - Y- ~) s( y) A" A - [! @* L. j5 [4 Y" ? 9 t O, f: [3 o5 W4 Q2 H+ `. _ , Y0 [2 k' q6 J8 G' N- f, v7 `7 a) R / f% u: P( t5 D |
我写进去报错。
啥意思
MC_ProgramSpeedRampMotor1(3000/6,1000); //设定转速为3000
这里为什么要除以6呢
ST电机库约定参数为01HZ的转速,所以需要除6