STM32G030F6P6点灯闪烁

前言

(1)如果有嵌入式企业需要招聘湖南区域日常实习生,任何区域的暑假Linux驱动实习岗位,可C站直接私聊,或者邮件:[email protected],此消息至2025年1月1日前均有效
(2)要做个小玩具,正好需要这种轻巧的芯片。其他厂家的芯片其实可以,但是为了快速开发,我还是选择了ST的芯片。选型方面,本来打算选择8pin 的芯片,不过为了以防后续调整增加引脚重新画PCB很麻烦。所以折中选择了STM32G030F6P6芯片作为这次玩具的主控MCU。
(3)ST的芯片上手还是挺容易的,我就直接放图了,不多BB。

正文

STM32CubeMX配置

(1)为了让STlink下载程序,需要勾选如下配置

STM32G030F6P6点灯闪烁_第1张图片

(2)从原理图上来看,我是PA0控制的LED,低电平点亮。所以我默认高电平配置

STM32G030F6P6点灯闪烁_第2张图片
STM32G030F6P6点灯闪烁_第3张图片

(3)配置系统时钟

STM32G030F6P6点灯闪烁_第4张图片

(4)输出工程

STM32G030F6P6点灯闪烁_第5张图片
STM32G030F6P6点灯闪烁_第6张图片

STM32G030F6P6点灯闪烁_第7张图片

(5)打开工程

STM32G030F6P6点灯闪烁_第8张图片

编写程序

(1)在main函数中写入如下代码,烧录即可

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 */
		HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
		HAL_Delay(1000);
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

参考

STM32CubeMX新建工程并点亮一个LED;

你可能感兴趣的:(STM32G030,stm32)