你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】stm32智能小车之路之小车启动

[复制链接]
STMCU小助手 发布时间:2022-5-13 20:00
    第一初始化管脚,来进行控制电机,输出高低电平,方可让电机转动。. B* N3 i( k. R0 R; N

: E. m& n9 d" T9 r# _& ^
' ^4 q) V) V+ r
  1. /*******************************************************************************
    - M3 S/ z1 S! S5 ^  b9 w$ a
  2. * 函数名字  : GPIO_Configuration(void)9 T; G1 D# _8 C
  3. * 描述      : 初始化PE7~PE8为输出口.并使能这两个口的时钟        
    1 m/ C$ Z! z/ H  j9 e
  4.                                                         Motor(电机输出引脚) IO初始化
    ( L* \' e+ u" f+ B" q3 `
  5. * 输入      : 无& N2 ]( C( R+ o( Q  B. V' |/ `
  6. * 输出      : 无
    # m" _' ^$ Z- \  N9 f& f
  7. * 返回值    : 无- i2 V% f4 {& w. g& f
  8. *******************************************************************************/
    1 ]1 H+ f& \* |+ q
  9. void GPIO_Configuration(void)2 A+ i: j6 o( ]* b- {8 j4 f
  10. {
    3 O$ u' B' X& t/ u" k4 e
  11.         //PE.7~PE.8  小车后轮控制引脚. K  C& c% z# \; Q3 ~
  12.         //PE.9!PE.10        风扇控制引脚5 q; o. @: S- ]9 A8 L  |
  13.         
    3 R5 K2 O" z8 D- n. G
  14.         GPIO_InitTypeDef GPIO_InitStructure;
    " i0 s5 }+ n9 ]- ?- X
  15.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);                        //使能PE端口时钟3 G8 g8 t2 E! M, F& p) s6 I; A( z$ h
  16. . J% H3 X: x* _8 s
  17.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;        //Motor-->PE.7 ...  Motor-->PE.10 端口配置
    % U, E4 g  a5 ~
  18.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                                                    //推挽输出
    9 z& F. Z9 `. ~% e1 e- o( z2 V: [
  19.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                                                 //IO口速度为50MHz
    * n( j7 c3 V! r( }0 H5 q3 a
  20.         GPIO_Init(GPIOE, &GPIO_InitStructure);                                                                         //根据设定参数初始化GPIOE+ H* r4 [- a7 b1 f4 k
  21.         GPIO_ResetBits(GPIOE,GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10);                                                                         //PE.7.....PE10 输出低电平
    + x# J8 e9 F/ ^/ r  W
  22.         
    , s% u$ q2 o2 K. N5 P. h7 u# [# A' ?4 R
  23. }
复制代码

5 B% K; z( N6 X1 m& [& n% c; ]! H        带代码中都做了详细的介绍,我就不过多的介绍了。不会的可以问我。主要是管脚的配置,都是直接调用的库 函数,这可比51简单多了,不用直接和寄存器打交道,直接和库函数交流就行,太方便了。
# Y- r/ z7 I' }8 v" C0 u2 R     主函数里面直接初始化下管脚就行:. P3 P7 \! q: i$ L% H5 H
8 D( S. h7 U' t. j  D0 x* }9 \+ p: ?0 p
  1. GPIO_Configuration(void);  ?  B9 l" i( k
  2. int main(void)4 V5 {8 M/ c3 f" @
  3. {
    0 K! B' m# ]# T1 N
  4.    while(1);; E# |, K* y6 I. @7 \
  5. }
复制代码
2 ]# e, G' @! s& e
ok!一切打工高成,用J-Link 或者通过串口下到核心板中去,连接上线,就ok了。& f0 I; h& E1 G+ t7 Q2 h4 w

$ ^6 @# {2 A: M2 k关于连线问题,这个非常重要,我当初就是没有将线接对,导致高了半天,电机也不转,我用的电机驱动模块是L198N的。* B& O" T& h5 l( C4 _

- J; j+ X7 r2 d& W' w3 u, d 41XK]%%BOR8EWMJ4R@@KVW9.png 5 j: ^7 S; v+ h  ], m. l
: J/ C$ W! L/ ?0 A8 ^, L. x9 Q
贴上电路原理图:; M7 I/ p) f% n

, c8 A0 a- H7 ~3 }1 W7 d A)}OMQWNAZG}081S%GP1VE5.png
9 C# _6 J  \# p9 }8 D' i2 x$ L
         相信大家都能看懂,不懂的看看模电、数电稍微懂点电路常识应该都懂吧。嘿嘿……
5 m8 H1 v' w) b/ i3 z6 H4 `! s. F4 H: }) u. Q
        可以看到小车跑的很快,速度应该很快的。不过不是我们想要的效果,下一篇介绍,怎样控制小车的速度……
5 W( k1 c2 o( E! P$ z; g
' ]1 u3 Y. X8 R; }; `( ~电机驱动模块注意不要接反了,容易烧坏,我就烧坏了一个
  ?/ h, q  B7 \: p6 V  S
/ Q5 y) Z7 [0 \& L# m* e4 @       上面接线的时候注意电机驱动模块使能端的跳线帽不要拿下来,否则不起作用,下一篇在调节小车速度的时候会将跳线帽拿下来,然后接根线进行控制速度,及PWM调速法。
4 M# R. \2 s$ a6 U; u' h& V& X4 }. A5 A+ @" c

) c& f' g/ L( }! c* K
8 O/ @# ]7 {" e9 j- z" @, l6 e" F% h$ |; \' B
收藏 评论0 发布时间:2022-5-13 20:00

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版