本帖最后由 zhdzhd-174422 于 2018-8-31 22:05 编辑 , |% O; h$ N' s+ A) J- W 个人感觉ST的测试任务就是让使用者熟悉SDK 的函数和Workbench软件的操作使用。 / e7 p/ Z0 V* a 0 E$ Y5 j( ~# A- H/ V3 ^ 一、任务要求如下: ) [( S3 ]: I1 p+ x: Z , [8 K' ~& g7 k7 I' H; ? 二、工程代码3 Z7 S/ l/ A/ @3 `7 L7 { 工程代码是在上一贴基础上修改的(上一贴地址: https://www.stmcu.org.cn/module/forum/thread-617267-1-1.html ),直接将main.c中main函数中 while (1) { + x ?( H- v- d /* USER CODE END WHILE */3 q. H- R$ y s3 J1 n, Y 8 o) Z$ c4 Z K/ }' I/ g% H8 K /* USER CODE BEGIN 3 */0 w/ k: {) [& x5 c) x% E$ [7 j //添加的代码7 ]5 K' e! s- W9 @, @4 L7 Q, R, X, x } /* USER CODE END 3 */2 H. h( F# [& H. Y0 F/ [8 g: C 1 m* d' z" ]! a' |* | 7 f: S$ R, |" [. w- r: B 2 m$ W9 W6 d4 Q R 增加自己的代码编译而来。 代码如下: MC_ProgramSpeedRampMotor1(3000/6,1000); //设定转速为3000( L6 m! G( u% s% {1 j MC_StartMotor1(); //马达运转( |: a# ~. S+ e" g HAL_Delay(10000); //延时10S/ t V0 a* V' O9 c MC_StopMotor1(); //马达停转6 H" V6 u0 z1 h9 L8 |4 Z1 V6 m HAL_Delay(5000); //延时5S N7 d# K* o" C( `3 N 4 D+ x' V( d" p$ `: i ~; q" I! R/ ?; }" s IDE编程图: MDK8 K8 B5 g) [3 X: \* P) e IAR . a. X( e% ?7 h$ S 三、运转效果:2 Q5 |8 I6 i4 u$ x" |! H `1 A5 W6 O 四、用Workbench查看运行状态以及用Plott查看波形: 转速启停都是3000# m# A; `! p1 [2 m# X b0 ]& w 转动10S,停止5S的波形 任务完成! x, {( K" T0 L 带着年欣慰的心情写完此贴,一看时间,晕!!已经深夜1点半了。。。睡觉了,晚安各位!" ] A7 }% g$ Z" r1 s1 { - |. Q& Q+ Y) h e: D . ~- N |. f( W) W |
我写进去报错。
啥意思
MC_ProgramSpeedRampMotor1(3000/6,1000); //设定转速为3000/ [9 R l/ j# d' A8 T; I) N
这里为什么要除以6呢
ST电机库约定参数为01HZ的转速,所以需要除6