你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-C031C6】搭建开发环境及点灯测试

[复制链接]
TLLED 发布时间:2024-3-16 18:02

一、资料下载

1.1、开发板官网地址:https://www.st.com/zh/evaluation-tools/nucleo-c031c6.html

1.2、STM32CubeC0下载地址:https://www.st.com/zh/embedded-software/stm32cubec0.html

001.png

二、安装pack包

2.1、pack包下载地址:https://www.keil.arm.com/packs/stm32c0xx_dfp-keil/boards/

002.png

2.2、也可以在下载的STM32Cube_FW_C0_V1.1.0文件中找到

003.png

按照提示默认安装。

三、硬件部分

测试驱动开发板上的LD4灯,硬件电路部分如下:

004.png

LD4指示灯对应的IO口是PA5。

四、程序部分

4.1、led.c

include "main.h"

void init_led(void) {

GPIO_InitTypeDef  GPIO_InitStruct;

LD4_GPIO_CLK_ENABLE();

GPIO_InitStruct.Pin       = LD4_PIN;
GPIO_InitStruct.Mode      = GPIO_MODE_OUTPUT_PP;  
GPIO_InitStruct.Pull      = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(LD4_GPIO_PORT, &GPIO_InitStruct);

HAL_GPIO_WritePin(LD4_GPIO_PORT, LD4_PIN, GPIO_PIN_SET);

led4_off();

} 4.2、led.h

#ifndef __LED_H
#define __LED_H


#define LD4_GPIO_CLK_ENABLE()          do{ __HAL_RCC_GPIOA_CLK_ENABLE(); }while(0)
#define LD4_GPIO_CLK_DISABLE()         do{ __HAL_RCC_GPIOA_CLK_DISABLE(); }while(0)

#define LD4_GPIO_PORT                   GPIOA
#define LD4_PIN                         GPIO_PIN_5

#define led4_on()                                               HAL_GPIO_WritePin(LD4_GPIO_PORT, LD4_PIN, GPIO_PIN_RESET)
#define led4_off()                                          HAL_GPIO_WritePin(LD4_GPIO_PORT, LD4_PIN, GPIO_PIN_SET)
#define led4_tog()                                          HAL_GPIO_TogglePin(LD4_GPIO_PORT, LD4_PIN)

void init_led(void);                

#endif

4.3、main.c

#include "main.h"

void SystemClock_Config(void);

int main(void)
{
  HAL_Init();

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

    init_led();

  while (1)
  {
    led4_tog();
    HAL_Delay(100);
  }
}

/**
  * @brief System Clock Configuration
  * @retval None
  */
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  /** Initializes the RCC Oscillators according to the specified parameters
  * in the RCC_OscInitTypeDef structure.
  */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  RCC_OscInitStruct.HSIDiv = RCC_HSI_DIV1;
  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  {
    Error_Handler();
  }

  /** Initializes the CPU, AHB and APB buses clocks
  */
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
                              |RCC_CLOCKTYPE_PCLK1;
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
  RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV1;

  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
  {
    Error_Handler();
  }
}

/**
  * @brief  This function is executed in case of error occurrence.
  * @retval None
  */
void Error_Handler(void)
{
  while(1) 
  {
  }
}

五、搭建开发环境

根据开发板的例程来创建开发工程文件,具体步骤不详细列了,创建后项目如下。

005.png

六、测试

编译项目后,下载到开发板后,LD4指示灯闪烁。

100.gif

收藏 评论0 发布时间:2024-3-16 18:02

举报

0个回答

所属标签

ST中文论坛活动

即日起开启活动话题入口,之后的活动统一都放在此处,欢迎大家的加入!


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版