STM32F103ZET6+28BYJ-48+ULN 2003 컨트롤러
#include "motor.h"
#include "delay.h"
#include "led.h"
#define A1 GPIO_SetBits(GPIOC, GPIO_Pin_3);
#define A2 GPIO_ResetBits(GPIOC, GPIO_Pin_3);
#define B1 GPIO_SetBits(GPIOC, GPIO_Pin_4);
#define B2 GPIO_ResetBits(GPIOC, GPIO_Pin_4);
#define C1 GPIO_SetBits(GPIOC, GPIO_Pin_5);
#define C2 GPIO_ResetBits(GPIOC, GPIO_Pin_5);
#define D1 GPIO_SetBits(GPIOC, GPIO_Pin_6);
#define D2 GPIO_ResetBits(GPIOC, GPIO_Pin_6);
void motor_configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // PB,PE
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6; //PC.012
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO 50MHz
GPIO_Init(GPIOC, &GPIO_InitStructure); // GPIOC.5
GPIO_ResetBits(GPIOC,GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6); //PC.012
}
void motor_control_F(int n)
{
A1;
delay_ms(n);
A2;
B1;
delay_ms(n);
B2;
C1;
delay_ms(n);
C2;
D1;
delay_ms(n);
D2;
}
void motor_control_Z(int n)
{
A1;
delay_ms(n);
A2;
D1;
delay_ms(n);
D2;
C1;
delay_ms(n);
C2;
B1;
delay_ms(n);
B2;
}
void Motor_Ctrl_Off(void){
GPIO_ResetBits(GPIOC,GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6);
}
자세한 프로그램은 [프로젝트 파일 다운로드 주소]:(https://download.csdn.net/download/kekebb/16208040)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
micro:bit로 탱크를 조종하기대학에서 개최되는 워크숍에서 micro:bit를 사용하게 되어, 그 자료를 Qiita에서도 공유하려고 합니다(자신이 관련된 범위밖에 공유하지 않기 때문에 컴플라적으로는 괜찮을 것!) 이번에는 micro:bit를 사용...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.