STM32CubeMX学习--(1)GPIO控制

工程配置

基础配置

  • 芯片选型 :STM32F429VGT6
  • 晶振:16M
  • 选择时钟源:System Core -> RCC -> High Speed Clock -> Crystal/Ceramic Resonator。
    采用外部16M晶振提供时钟信号。
  • 选择调试接口:System Core -> SYS -> Debug -> Serial Wire。
    采用2线SWD接口调试。
  • 配置时钟树:
    - Input:16,选择HSE
    - M:8
    - N:168
    - P:2
    - AHB:/1
    - HCLK:168
    - APB1:/4
    - APB2:/2
    - PCLK1:x2
    - PCLK2:x2
  • 配置工程位置,选择开发工具MDK,设置堆栈:0x2000 0x4000。
    到此,基础配置完成,点击GENERATE CODE即可生成代码工程文件。

GPIO功能设置

  • 选择IO设置为输出输入模式,并编写IO名称。
    PB0 设置为输出模式,名称LED_STP。
    PB12 设置为输入模式,名称为IN1。
  • 配置GPIO属性。
    System Core ->GPIO中对对应IO进行配置上拉,速度等相关参数。配置完成后即可生成代码。
  • 添加用户程序
    CUBE生成的代码中已经对相关外设进行了初始化,但是并没有使用逻辑程序,需要用户自行添加对应的程序。需要注意的是,添加用户程序时需要在BEGAIN到END之间添加,否则下次配置CUBE是,程序会被覆盖掉。
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  HAL_GPIO_TogglePin(LED_STP_GPIO_Port,LED_STP_Pin);
	  HAL_GPIO_TogglePin(LED_SYS_GPIO_Port,LED_CAN1_Pin);
	  HAL_GPIO_TogglePin(LED_SYS_GPIO_Port,LED_CAN2_Pin);
	  HAL_GPIO_TogglePin(LED_SYS_GPIO_Port,LED_SYS_Pin);
	  __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,duty);
	  __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_2,duty);
	  input=HAL_GPIO_ReadPin(IN1_GPIO_Port,IN1_Pin);
	  input |= (HAL_GPIO_ReadPin(IN2_GPIO_Port,IN2_Pin)<<1);
	  HAL_Delay(500);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
发布了10 篇原创文章 · 获赞 2 · 访问量 317

猜你喜欢

转载自blog.csdn.net/weixin_43482414/article/details/103901879