MBD stm32开发 脉冲->GPIO

matlab1028b以上

stm32cubemx5.6.0以上  从正点原子下载,百度的可能存在java问题

stm32-mat/target  教程与代码分享 - 知乎

安装好这些后,打开matlab,打开路径STM32-MAT\STM32

打开MATLAB,在设置路径中添加STM32-MAT/TARGET文件夹路径

 打开simulink,view-lib 可以看到

在simulink中先点击保存工作区,再打开设置 

在STM32CUBEMX完成底层配置,生成ioc文件

 

void untitled_step(void)
{
  /* S-Function (GPIO_Read): '<Root>/GPIO_Read' */
  {
    rtDW.GPIO_Read = (boolean_T)HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_3);
  }

  /* Logic: '<Root>/NOT' */
  rtDW.NOT = !rtDW.GPIO_Read;

  /* S-Function (GPIO_Write): '<Root>/GPIO_Write2' */
  {
    if (rtDW.NOT == 0)
      HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_RESET);
    else
      HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET);
  }

  /* S-Function (GPIO_Read): '<Root>/GPIO_Read1' */
  {
    rtDW.GPIO_Read1 = (boolean_T)HAL_GPIO_ReadPin(GPIOE, GPIO_PIN_4);
  }

  /* Logic: '<Root>/NOT1' */
  rtDW.NOT1 = !rtDW.GPIO_Read1;

  /* S-Function (GPIO_Write): '<Root>/GPIO_Write3' */
  {
    if (rtDW.NOT1 == 0)
      HAL_GPIO_WritePin(GPIOE, GPIO_PIN_5, GPIO_PIN_RESET);
    else
      HAL_GPIO_WritePin(GPIOE, GPIO_PIN_5, GPIO_PIN_SET);
  }
}

 

 

触发中断调用函数 

 

这个线要虚线,如果不是的话要先编译

void EXTI3_IRQHandler(void)
{
  /* USER CODE BEGIN EXTI3_IRQn 0 */

  /* USER CODE END EXTI3_IRQn 0 */
  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3);
  /* USER CODE BEGIN EXTI3_IRQn 1 */

  /* USER CODE END EXTI3_IRQn 1 */
}


void untitled_initialize(void)
{
  /* user code (Start function Body) */
  {
    /* External interrupt function registering. */
    EXTI_Callback[3] = EXTI3_Callback;
  }
}


keil要重新加入文件夹
void EXTI3_Callback()
{
  {
    /* S-Function (GPIO_Exti): '<Root>/GPIO_Exti' */

    /* Output and update for function-call system: '<Root>/Subsystem' */

    /* S-Function (GPIO_Write): '<S1>/GPIO_Write' */
    {
      HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5);
    }

    /* S-Function (GPIO_Write): '<S1>/GPIO_Write1' */
    {
      HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_5);
    }

    /* End of Outputs for S-Function (GPIO_Exti): '<Root>/GPIO_Exti' */
  }
}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值