实验器材:
正点原子NANO STM32F103开发板V1版本
实验目的:
学习GPIO作为输出的使用
硬件资源:本实验通过L298N驱动四个12V直流电机,端口连接
1,ENA (连接在PC8)
2,IN1 (连接在PA8)
3,IN2 (连接在PD2)
4,ENB (连接在PC9)
5,IN3 (连接在PB11)
6,IN4 (连接在PB9)
实验现象:
(1) 前进时LED1灯亮
(2) 停止时LED0-LED7均亮
(3) 后退时LED7灯亮
注:LED是开发板自带硬件,可根据自己需要修改。
注意事项:
L298N的OUT1 OUT2接在同侧驱动电机的上下两个接线柱处,
OUT3 OUT4接在另一侧驱动电机的上下接线柱处,
L298N要与开发板共地,L298N输出5V可以给开发板供电,
硬件接线请在断电情况下进行,烧录完成将烧录线拔掉,再打开12V供电电源。
void DirForward(void) //前进程序,前进时LED1亮
{ LED1=0;
ENA=1;
MOTORA0=0;MOTORA1=1;
ENB=1;
MOTORB0=0;MOTORB1=1;
delay_ms(1000);
LED1=1;
}
void Stop(void) //停止程序,停止时LED10-LEED7亮
{HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|
GPIO_PIN_4| GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,GPIO_PIN_RESET);
ENA=1;
MOTORA0=0;MOTORA1=0;
ENB=1;
MOTORB0=0;MOTORB1=0;
delay_ms(1000);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|
GPIO_PIN_4| GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,GPIO_PIN_SET);
}
void DirBack(void) //后退程序,后退时LED1亮
{LED7=0;
ENA=1;
MOTORA0=1;MOTORA1=0;
ENB=1;
MOTORB0=1;MOTORB1=0;
delay_ms(1000);
LED7=1;
}
1