硬石社区

 找回密码
 立即注册
查看: 5240|回复: 1

[STM32F1] 请教28电机控制例程

[复制链接]

1

主题

1

帖子

576

积分

见习海贼

Rank: 2Rank: 2

积分
576
发表于 2021-7-16 19:43:24 | 显示全部楼层 |阅读模式
请教基于串口的28电机控制例程:下面标红部分是什么意思啊?
非常感谢

static void step_motor_pulse(uint8_t step,uint8_t direction)
{
#if 1  
  uint16_t data;
  
  data=GPIO_ReadOutputData(ULN2003_GPIO)&0xFC3F;
  if(direction==1)
  {
    GPIO_Write(ULN2003_GPIO,data|step_motor[step]);
  }
  else
  {
    GPIO_Write(ULN2003_GPIO,data|step_motor[7-step]);
  }
#else
uint8_t temp=step;

  if(direction==0)
  {
    temp=8-step;
  }




回复

使用道具 举报

370

主题

1323

帖子

16万

积分

传说中的管理员

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
164287
QQ
发表于 2021-7-19 09:28:30 | 显示全部楼层
红色部分代码是对IO进行控制:28步进用到4个IO,这4个IO进行一定规律的控制就可以控制电机旋转。
这段代码是对整个GPIO外设(16个引脚,包含4个电机控制引脚)进行:读-改-写。
详细原理和代码解析可以看我们F1开发板步进章节视频。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Comsenz Inc. ( 粤ICP备16080364号

GMT+8, 2022-9-26 05:09 , Processed in 0.059855 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表