软件:keil 5(其他版本也ok)
硬件:步进电机(我用的是42)×4;单片机开发板(本例使用STM32F407ZGT6);电机驱动器×4;外部按键;杜邦线。
实验效果:
四个步进电机对应四个外部按键,按下对应的外部按键选择需要控制的电机。
在开发板上按下KEYO,步进电机以500HZ的频率顺时针转动200个脉冲的角度(相对定位);
按下KEY1,步进电机以500H的频率逆时针转动400个脉冲的角度(相对定位);
按下KEY UP,步进电机以500HZ的频率回到绝对原点(绝对定位);
同时DS1以1s的周期闪烁,提示代码正在运行。
直接上代码:
主函数:
int main(void)
{
Stm32_Clock_Init(336,8,2,7);//ÉèÖÃʱÖÓ,168Mhz
delay_init(168); //ÑÓʱ³õʼ»¯
uart_init(84,115200); //³õʼ»¯´®¿Ú²¨ÌØÂÊΪ115200
usmart_dev.init(84); //³õʼ»¯USMART
LED_Init(); //³õʼ»¯LED
KEY_Init(); //°´¼ü³õʼ»¯
Driver_Init(); //Çý¶¯Æ÷³õʼ»¯
TIM8_OPM_RCR_Init(999,168-1); //1MHz¼ÆÊýƵÂÊ µ¥Âö³å+ÖØ¸´¼ÆÊýģʽ
wh