https://blog.csdn.net/ff_tt/article/details/78397811#commentBox
http://www.geek-workshop.com/thread-4319-1-1.html
这种搭配:
上来就放程序给你们!!看了太多理论,写不出驱动程序就很抓急,还是驱动起来,听着滋滋的电磁声,才让人颇有成就感~~
只需三步,三步登天!
第一步,拷贝驱动程序:
#define CLK 7
void setup() {
pinMode(CLK,OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(CLK,HIGH);
delayMicroseconds(1000);//延迟1毫秒
digitalWrite(CLK,LOW);
delayMicroseconds(1000);
}
第二步,细分数设置,设置为16
第三步,我的连线方式,请按实际连线:PUL-连接在arduino 7 引脚,哪个都行的
为什么这样呢?因为:
再看一下程序,7脉冲信号输出,置高置低置高置低置高置低置高置低~~就是500Hz
接下来是理论啦
我的电机:
void MOTOR_Init(void)
{
RCC->APB2ENR|=1<<2;
GPIOA->CRL&=0xffff0000;
GPIOA->CRL|=0x00003333;
}123456
节拍(8):
//第一拍
AIN1_1=1;
AIN1_2=0;
BIN1_1=0;
BIN1_2=0;
delay_us(2500);
//第二拍
AIN1_1=1;
AIN1_2=0;
BIN1_1=1;
BIN1_2=0;
delay_us(2500);
//第三拍
AIN1_1=0;
AIN1_2=0;
BIN1_1=1;
BIN1_2=0;
delay_us(2500);
//第四拍
AIN1_1=0;
AIN1_2=1;
BIN1_1=1;
BIN1_2=0;
delay_us(500);
//第五拍
AIN1_1=0;
AIN1_2=1;
BIN1_1=0;
BIN1_2=0;
delay_us(2500);
//第六拍
AIN1_1=0;
AIN1_2=1;
BIN1_1=0;
BIN1_2=1;
delay_us(2500);
//第七拍
AIN1_1=0;
AIN1_2=0;
BIN1_1=0;
BIN1_2=1;
delay_us(2500);
//第八拍
AIN1_1=1;
AIN1_2=0;
BIN1_1=0;
BIN1_2=1;
delay_us(2500);
---------------------
本文来自 ff_tt 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/ff_tt/article/details/78397811?utm_source=copy