天天看点

STM32CubeIDE体验STM32CubeIDE体验

STM32CubeIDE体验

软件安装

1 - 安装jre环境

  ST很多官方软件使用JAVA开发,如果电脑上没有安装jre,建议先安装jre。jre软件安装很简单,直接一直next就可以了。

STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验

2 - 安装CubeMX

  由于开发STM32开发需要使用HAL库,所以我们需要先安装一下STM32CubeMX。这个软件安装也比较简单,基本就是一直Next。

STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验

  至此,软件就安装完毕了,我们还需要安装HAL库,不过ST服务器最近好像有些问题,直接通过STM32CubeMX安装HAL老是出错,所以我们使用另一种方法安装HAL库。那就是直接下载HAL库之后,解压到%HomePath%/STM32Cube/Repository目录下。

STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验

  解压之后,刷新一下,STM32CubeMX就可以正常使用了。

STM32CubeIDE体验STM32CubeIDE体验

3 - 安装STM32CubeIDE

  这个软件也是一路Next就好了,下面贴出安装过程中的截图。

STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验

建立工程

1 - 打开软件

  打开软件选择目录。

STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验

  会生成新的工程,打开如下界面。

STM32CubeIDE体验STM32CubeIDE体验

  设置RCC时钟系统,设置为外部晶振模式。

STM32CubeIDE体验STM32CubeIDE体验

  开发板PE4连接到LED灯上,设置对应GPIO为输出模式。

STM32CubeIDE体验STM32CubeIDE体验

  设置时钟树。

STM32CubeIDE体验STM32CubeIDE体验

  工程输出设置。

STM32CubeIDE体验STM32CubeIDE体验

  配置完成后生成代码。

STM32CubeIDE体验STM32CubeIDE体验

  双击main.c打开文件,GPIO之类的都已经初始化OK。以下截取部分核心代码。

int main(void)
{
  HAL_Init();
  
  SystemClock_Config();

  MX_GPIO_Init();
  
  while (1)
  {
  }
}


static void MX_GPIO_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStruct = {0};
	
	/* GPIO Ports Clock Enable */
	__HAL_RCC_GPIOE_CLK_ENABLE();
	__HAL_RCC_GPIOC_CLK_ENABLE();
	
	/*Configure GPIO pin Output Level */
	HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);
	
	/*Configure GPIO pin : LED1_Pin */
	GPIO_InitStruct.Pin = LED1_Pin;
	GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
	GPIO_InitStruct.Pull = GPIO_PULLUP;
	GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
	HAL_GPIO_Init(LED1_GPIO_Port, &GPIO_InitStruct);
}

           

  我们在main.c的while循环中增加LED闪烁的部分。

while (1)
{
	/* USER CODE END WHILE */
	HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
	HAL_Delay(500);
	/* USER CODE BEGIN 3 */
}
           

  至此,代码就已经完成了。编译以下工程。

STM32CubeIDE体验STM32CubeIDE体验

接下来,我们使用Stlink进入Debug模式,将代码烧录至STM32F103ZET6中。

STM32CubeIDE体验STM32CubeIDE体验

  双击STM32 MCU Debug,设置仿真细节。

STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验
STM32CubeIDE体验STM32CubeIDE体验

  至此代码已经能跑起来了。

继续阅读