前言
通过引脚输入高低电平的方式直接对电机的正传、反转和停止进行逻辑控制。
一、模块与工具
1)STM32F407ZGT6
2)L298N电机驱动模块
3)12V直流减速电机 ×2
4)12V锂电池电源
5)杜邦线(母转母)、2.8MM插簧带线等
6)剥线钳、螺丝刀
二、整体思路
利用开发板上PB6和PB7、PD6和PD7与驱动模块上IN1和IN2、IN3和IN4连接,实现对两个电机的逻辑控制。其中,驱动模块的GND要和开发板的GND相连。
开发板引脚 | 驱动模块引脚 |
---|---|
PB6 | IN1 |
PB7 | IN2 |
PD6 | IN3 |
PB7 | IN4 |
1.程序
整体程序是基于正点原子教程进行编写,过程中遇到1个error和1个warning,后面进行分析。
motor.h
#ifndef __MOTOR_H
#define __MOTOR_H
#define motor1IN1 PBout(6)
#define motor1IN2 PBout(7)
#define motor2IN3 PDout(6)
#define motor2IN4 PDout(7)
void MOTOR_Init(void);//初始化
void MotorForward(void);//电机正转
void MotorReverse(void);//电机反转
void MotorStop(void