天天看點

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體驗

  至此代碼已經能跑起來了。

繼續閱讀