首页 STM32F103 L298N驱动直流电机

STM32F103 L298N驱动直流电机

举报
开通vip

STM32F103 L298N驱动直流电机STM32F103+L298N驱动直流电机 #ifndef __MOTOR_H #define __MOTOR_H #include "stm32f10x.h" #define A1_On GPIO_SetBits(GPIOE,GPIO_Pin_0) #define A1_Off GPIO_ResetBits(GPIOE,GPIO_Pin_0) #define A2_On GPIO_SetBits(GPIOE,GPIO_Pin_2) #define A2_Off GPIO_ResetBits(GPI...

STM32F103 L298N驱动直流电机
STM32F103+L298N驱动直流电机 #ifndef __MOTOR_H #define __MOTOR_H #include "stm32f10x.h" #define A1_On GPIO_SetBits(GPIOE,GPIO_Pin_0) #define A1_Off GPIO_ResetBits(GPIOE,GPIO_Pin_0) #define A2_On GPIO_SetBits(GPIOE,GPIO_Pin_2) #define A2_Off GPIO_ResetBits(GPIOE,GPIO_Pin_2) #define B1_On GPIO_SetBits(GPIOE,GPIO_Pin_4) #define B1_Off GPIO_ResetBits(GPIOE,GPIO_Pin_4) #define B2_On GPIO_SetBits(GPIOE,GPIO_Pin_6) #define B2_Off GPIO_ResetBits(GPIOE,GPIO_Pin_6) voidMotor_Init(void); //控制引脚设置 voidMotor_Forward(void);//前进 voidMotor_Back(void);//后退 voidMotor_Stop(void);//暂停 voidMotor_TurnRight(void); //右转弯 voidMotor_TurnLeft(void); //左转弯 #endif #include "Motor.h" voidMotor_Init(void) { GPIO_InitTypeDefGPIO_Initstructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE); GPIO_Initstructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_4|GPIO_Pin_6; GPIO_Initstructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_Initstructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOE,&GPIO_Initstructure); } voidMotor_Forward(void) { A1_On; A2_Off; B1_On; B2_Off; } voidMotor_Back(void) { A1_Off; A2_On; B1_Off; B2_On; } voidMotor_Stop(void) { A1_Off; A2_Off; B1_Off; B2_Off; } voidMotor_TurnRight(void) { A1_On; A2_Off; B1_Off; B2_Off; } voidMotor_TurnLeft(void) { A1_Off; A2_Off; B1_Off; B2_On; } #include "Motor.h" #include "sys.h" voidDelay_ms(uint32_t ms)//利用系统SysTick延时{ uint32_ti; SysTick_Config(72000); for(i=0;iCTRL)&(1<<16))); } SysTick->CTRL&=SysTick_CTRL_ENABLE_Msk; } int main(void) { Motor_Init(); while(1) { Motor_Forward(); Delay_ms(5000); Motor_Stop(); Delay_ms(2000); Motor_Back(); Delay_ms(5000); Motor_Stop(); Delay_ms(2000); Motor_TurnRight(); Delay_ms(5000); Motor_Stop(); Delay_ms(2000); Motor_TurnLeft(); Motor_Stop(); Delay_ms(2000); } } 网上很多关于L298N(我用的是可以驱动两路直流电机的模块)的说明文档可以查找,这里就不上接线图了。不过关于L298驱动电压12V的事情到可以对我的做法做个说明,我是用STM32开发板的输出5V接入L298的逻辑接口和驱动接口的,这样驱动两路电机完全没有问题,同样在Arduino中也可以将输出5V接L298的逻辑及驱动接线口。如果开发板或者采用Arduino 板,其实不用用电池盒装5或者7号电池,直接用手机充电板供电也非常好的。
本文档为【STM32F103 L298N驱动直流电机】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_574951
暂无简介~
格式:doc
大小:18KB
软件:Word
页数:6
分类:互联网
上传时间:2019-02-12
浏览量:131