stm32智能小车探索
1.使用说明:
1、直流电机的驱动:
该驱动板可驱动2路直流电机,使能端ENA、ENB为高电平时有效,控制方式及直流电机状态表如下所示:
ENA |
IN1 |
IN2 |
直流电机状态 |
0 |
x |
X |
停止 |
1 |
0 |
0 |
制动 |
1 |
0 |
1 |
正转 |
1 |
1 |
0 |
反转 |
1 |
1 |
1 |
制动 |
若要对直流电机进行PM调速,需设置IN1和IN2,确定电机的转动方向,然后对使能端输出PW脉冲,即可实现调速。注意当使能信号为0时,电机处于自由停止状态;当使能信号为1,且IN1和IN2为00或11时,电机处于制动状态,阻止电机转动。
2.控制一个电机转动
不连接ENA和ENB测试
p1 →in1
p2 →in2
l298n.c
#include "stm32f10x.h" //包含需要的头文件
#include "l298n.h" //包含需要的头文件
/*-------------------------------------------------*/
/*函数名:初始化LED函数 */
/*参 数:无 */
/*返回值:无 */
/*-------------------------------------------------*/
void L298n_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA, GPIO_Pin_1); //PC13 输出高
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_ResetBits(GPIOA, GPIO_Pin_2); //PC13 输出高
}
l298n.h
#ifndef __L298N_H
#define __L298N_H
void L298n_Init(void); //初始化
#endif
本文作者: 永生
本文链接: https://yys.zone/detail/?id=220
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
发表评论
评论列表 (0 条评论)
暂无评论,快来抢沙发吧!