写了一个主函数:
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(9600);
Key_Init(); //矩阵键盘初始化
Moto_Init();//步进电机初始化
delay_init();
int beg = 1; //设置默认楼层为1
int des ;
int dir;
int ang;
while(1)
{
des = Key_Scan(); //获取按下矩阵键盘的键值
if (des > beg){
dir = 1;
//print("电机正转")
ang = (des - beg)*45; //电机旋转角度
}
else if(des == beg){
//print("无需移动");
continue;
}
else{
dir = 0;
//printf("电机反转")
ang = (beg - des)*45; //电机旋转角度
}
beg = dir; //默认楼层为当前按键按下的楼层
Motor_Ctrl_Direction_Angle(dir,ang); // 启动电机
// printf("当前楼层为:%d",beg);
}