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

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

[复制链接]
STMCU小助手 发布时间:2022-5-13 20:00
    第一初始化管脚,来进行控制电机,输出高低电平,方可让电机转动。
; e7 F2 m: k! ~$ K/ `8 w# F1 _7 j0 q& k) _; _* B
! Y1 ?% ~7 w# O: Q; I) u$ I
  1. /*******************************************************************************; Q+ {/ }4 Q+ M7 O
  2. * 函数名字  : GPIO_Configuration(void)
    9 Z6 s8 e; |6 I
  3. * 描述      : 初始化PE7~PE8为输出口.并使能这两个口的时钟        
    2 E' _* A' p4 j) E, x
  4.                                                         Motor(电机输出引脚) IO初始化# y' O; ^3 \1 g- c# ]3 n! \
  5. * 输入      : 无
    * h+ c' }8 B9 ^6 @: [; m
  6. * 输出      : 无
    . q/ f2 x5 `  ^6 E# [; Y
  7. * 返回值    : 无
    8 a. j1 ?+ ]. ~1 D4 Z" Y
  8. *******************************************************************************/7 z  G7 ^; r  _0 I: e1 Q7 k3 M
  9. void GPIO_Configuration(void)
    * z; b4 z. m! X: c% p5 F4 Y7 G
  10. {- f( i7 G- Q# W9 _- {8 `
  11.         //PE.7~PE.8  小车后轮控制引脚
    0 k5 j- p- j' \
  12.         //PE.9!PE.10        风扇控制引脚
    ; t! K, C7 e8 m0 ]  o
  13.         
    8 M9 U( H* X6 z9 U1 k2 H' W8 N
  14.         GPIO_InitTypeDef GPIO_InitStructure;9 c% |$ @  n" [+ a% F4 o
  15.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);                        //使能PE端口时钟( D( N8 Y, C  v

  16. 3 g7 u- d! K7 W8 Q- F1 I& D
  17.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;        //Motor-->PE.7 ...  Motor-->PE.10 端口配置
    " `( W0 t- S/ q" L
  18.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                                                    //推挽输出- j0 o& o8 C! K- b3 w
  19.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                                                 //IO口速度为50MHz
    . }  P, W) a' }) h. _" o3 s
  20.         GPIO_Init(GPIOE, &GPIO_InitStructure);                                                                         //根据设定参数初始化GPIOE
      L+ g7 _0 |" R
  21.         GPIO_ResetBits(GPIOE,GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10);                                                                         //PE.7.....PE10 输出低电平; k7 T( h# e% P) S) V# J4 J6 _0 V& J
  22.         $ i3 r" W1 D; k5 l5 `' ^$ T
  23. }
复制代码

4 _' Q9 {7 f* M% B        带代码中都做了详细的介绍,我就不过多的介绍了。不会的可以问我。主要是管脚的配置,都是直接调用的库 函数,这可比51简单多了,不用直接和寄存器打交道,直接和库函数交流就行,太方便了。7 V5 x8 ^$ y4 j8 _" J1 y
     主函数里面直接初始化下管脚就行:
/ `8 t! G# h; l1 K  Y% h
# ~/ a: G) C* y( v
  1. GPIO_Configuration(void);
    3 J% w2 S3 B# E( t1 R) D7 J2 D; u
  2. int main(void)
    + Z! B8 j1 D7 `1 N- |( b& R
  3. {; F/ E' A8 b* B6 l* P1 D
  4.    while(1);! {) C" j& j* P
  5. }
复制代码

# q  R+ U' L1 G6 A  eok!一切打工高成,用J-Link 或者通过串口下到核心板中去,连接上线,就ok了。5 @% O4 C9 b- D6 O. ?( M
# ?1 k8 \( U: V' J9 S
关于连线问题,这个非常重要,我当初就是没有将线接对,导致高了半天,电机也不转,我用的电机驱动模块是L198N的。, r5 l# E; x9 r! X7 C7 }( d
% f8 @( {0 _: h
41XK]%%BOR8EWMJ4R@@KVW9.png
/ W" M* l# F# i7 h3 N
6 e2 t9 [$ ?7 L. r  c  z贴上电路原理图:- X( ]7 B: R# D* t
8 @! O0 c; X' e# C( P% Q
A)}OMQWNAZG}081S%GP1VE5.png 8 `7 @  o2 G2 L2 L, B

# @3 r) S+ E5 u8 u& s. T         相信大家都能看懂,不懂的看看模电、数电稍微懂点电路常识应该都懂吧。嘿嘿……3 w$ e+ F& n3 S! f( ]
) ]3 {8 W; E" p5 I# W( u
        可以看到小车跑的很快,速度应该很快的。不过不是我们想要的效果,下一篇介绍,怎样控制小车的速度……) h* X9 N! g" c# v# Z

' O5 V: k; O, S6 v. l" N0 [8 m# e电机驱动模块注意不要接反了,容易烧坏,我就烧坏了一个
! Q6 V2 T' ]) T/ D+ s2 `6 ^- J
: e+ m. a# L( S' {9 [       上面接线的时候注意电机驱动模块使能端的跳线帽不要拿下来,否则不起作用,下一篇在调节小车速度的时候会将跳线帽拿下来,然后接根线进行控制速度,及PWM调速法。
5 S. g! `! Q5 x' D2 w" ?# T6 H; ?7 Y5 t$ u, A/ N
. y& _- B5 ^! ^# k3 b* A: L

% P% g' ^7 P9 J- r! D
4 o" W0 i+ `) m
收藏 评论0 发布时间:2022-5-13 20:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版