【STM32CubeMx你不知道的那些事】第二章:STM32CubeMxGPIO的输入输出应用

好了,上一章我们主要讲解了一下STM32CubeMx如何创建工程。这一章我们主要是讲解使用该软件去配置初始化GPIO。

一、准备工作

1、使用我们第一章配置好工程文件。如图

【STM32CubeMx你不知道的那些事】第二章:STM32CubeMxGPIO的输入输出应用_第1张图片

2、准备你需要编程硬件对应的原理图或者PCB,将你需要点亮的灯对应到IO口上去。如图

【STM32CubeMx你不知道的那些事】第二章:STM32CubeMxGPIO的输入输出应用_第2张图片

可知我们需要点亮GPIO PB8对应的LED。

3、准备好硬件。

二、具体操作

1、打开STM32CubeMx工程软件配置所需要的GPIO。在Pinout栏目下如图所示

【STM32CubeMx你不知道的那些事】第二章:STM32CubeMxGPIO的输入输出应用_第3张图片

将PB8配置为Gpio_Ouput模式,意味着PB8这个引脚是作为输出使用。如果设置成Gpio_Input则为输入模式。

2、在Configuration栏目下配置该IO口的功能。

点击Systems下的GPIO进入配置界面。如图所示

【STM32CubeMx你不知道的那些事】第二章:STM32CubeMxGPIO的输入输出应用_第4张图片

①点击我们配置PB8口,下面弹出来五个栏目。

②设置GPIO优先级。

③设置GPIO输出模式(开漏/推挽)。

④设置GPIO上下拉模式(这里默认是下拉模式)。

⑤设置GPIO速度。

⑥设置当前PB8 GPIO的宏定义。

⑦点击OK设置完成。

3、生成工程

点击Project菜单栏选择Generate code,工程生成完毕。

4、验证工程

打开编译工程,在while(1)里面添加LED闪烁程序。代码如下

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {

  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
	HAL_Delay(1000);
	HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
  }
  /* USER CODE END 3 */

}

这样可以实现一个简单的GPIO输出控制。

如果之前设置的为输入模式这里面代码和输出就有区别

输入模式我们需要读取GPIO状态,使用的HAL库函数为HAL_GPIO_ReadPin(LED1_GPIO_Port, LED1_Pin);

如有什么不懂联系加QQ群:1063618791欢迎大家学习交流!

你可能感兴趣的:(STM32CubeMx,stm32开发,c语言)