910|4

1011

帖子

3

资源

版主

【基于NUCLEO-F746ZG电机开发应用】10.参数配置-GPIO端口配置 [复制链接]

开发板上使用的普通GPIO端口分别是4个LED,1个按键,3个U,V,W使能引脚。暂时没有使用霍尔传感器,所以省略。

1.硬件电路设计

(1)3个U,V,W使能引脚,控制L6230PD的使能脚。其中PC10控制U相,PC11控制V相,PC12控制W相。

u,v,w端口.jpg

(2)IHM07M1开发板的运行指示灯,使用的是PB2进行控制。定义为LED4。

LED4.jpg

 

(3)NUCLEO-F746开发板的指示灯LED2和LED3,分别使用的是PB7和PB14进行控制。按键是高电平输入有效,使用的是PC13进行采集输入信号。 LED2,LED3,按键.jpg

(4)NUCLEO-F746开发板的指示灯LED1,分别使用的是PB0进行控制。

LED1.jpg

2.软件设计

普通GPIO的软件初始化配置非常简单。这一部分可以参照其他厂家,比如正点原子、野火,进行了解,不做详细赘述。

static void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOC_CLK_ENABLE();//使能GPIOC时钟,AHB1总线
  __HAL_RCC_GPIOH_CLK_ENABLE();//使能GPIOH时钟,AHB1总线
  __HAL_RCC_GPIOA_CLK_ENABLE();//使能GPIOA时钟,AHB1总线
  __HAL_RCC_GPIOB_CLK_ENABLE();//使能GPIOB时钟,AHB1总线
  __HAL_RCC_GPIOD_CLK_ENABLE();//使能GPIOD时钟,AHB1总线

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOB, LD1_Pin|LD4_Pin|LD3_Pin|LD2_Pin, GPIO_PIN_RESET);

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOC, M1_PWM_EN_U_Pin|M1_PWM_EN_V_Pin|M1_PWM_EN_W_Pin, GPIO_PIN_RESET);

  /*Configure GPIO pin : Start_Stop_Pin */
  GPIO_InitStruct.Pin = Start_Stop_Pin;//用户按键
  GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;//下降沿触发中断
  GPIO_InitStruct.Pull = GPIO_PULLUP;//上拉模式
  HAL_GPIO_Init(Start_Stop_GPIO_Port, &GPIO_InitStruct);//初始化

  /*Configure GPIO pins : LD1_Pin LD4_Pin LD3_Pin LD2_Pin */
  //LED1:绿色,PB0
  //LED2:蓝色,PB7
  //LED3:红色,PB14
  //LED4:红色,PB2,  IHM07M1开发板中
  GPIO_InitStruct.Pin = LD1_Pin|LD4_Pin|LD3_Pin|LD2_Pin;//LED灯引脚
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;//推挽输出
  GPIO_InitStruct.Pull = GPIO_NOPULL;//无上拉和下拉
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;//低速模式
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);//初始化

  /*Configure GPIO pins : M1_PWM_EN_U_Pin M1_PWM_EN_V_Pin M1_PWM_EN_W_Pin */
  GPIO_InitStruct.Pin = M1_PWM_EN_U_Pin|M1_PWM_EN_V_Pin|M1_PWM_EN_W_Pin;//U,V,W使能引脚
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;//推完输出
  GPIO_InitStruct.Pull = GPIO_PULLDOWN;//下拉
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;//高速模式
  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);//初始化

}

 其中用户按键的作用是:按下电机运行,在按一下电机停机,采用输入中断方式采样信号。

个人签名

没有什么不可以,我就是我,不一样的烟火! 


回复

6203

帖子

0

资源

五彩晶圆(初级)

这种电机驱动的GPIO的软件初始化配置确实不复杂

介绍的很清楚了

点评

简单的就省略点介绍,复杂的详细点。  详情 回复 发表于 2021-9-30 14:27

回复

1011

帖子

3

资源

版主

Jacktang 发表于 2021-9-30 14:07 这种电机驱动的GPIO的软件初始化配置确实不复杂 介绍的很清楚了

简单的就省略点介绍,复杂的详细点。

个人签名

没有什么不可以,我就是我,不一样的烟火! 


回复

1986

帖子

3

资源

版主

哈哈,就几行代码的赶脚。

点评

GPIO很简单,感觉没有可以说的  详情 回复 发表于 2021-9-30 16:06

回复

1011

帖子

3

资源

版主

w494143467 发表于 2021-9-30 15:50 哈哈,就几行代码的赶脚。

GPIO很简单,感觉没有可以说的

个人签名

没有什么不可以,我就是我,不一样的烟火! 


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

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表