BearPi Std 板从入门到放弃 - 引气入体篇(1)(由零创建工程到点亮LED)

  1. 安装相关开发工具

    1. Keil MDK 工具下载
      略, 自行体会

    2. Keil 芯片支持包下载
      Keil 包 网址
      此处下载的是STM32L4xx的支持包

    3. STM32CubeMX 下载与包下载
      i. 下载(需要使用用户)
      网址
      拉到底下 “获取软件” 部分下载 STM32CubeMX-Win 进行下载;

      ii. 包下载(需要使用用户)
      打开安装好的STM32CubeMX软件, 点击右边 Install or Remove embedded software packs releases
      下载自己的芯片支持

  2. 使用 STM32CubeMX 创建一个开发板的 Keil 项目

    1. 简介我的开发板上的硬件与芯片的引脚映射信息
      a. 开发板 : Bearpi Std(小熊派标准板)
      b. 主芯片: STM32L431RCT6 (80MHz)
      c. 用户灯 : PC13 \ 推挽输出即可 \ 高电平点亮

    2. 配置一个点亮LED的项目
      i. 打开STM32CubeMX 软件, 创建一个新项目, 芯片选择STM32L431RCT6
      ii. 初始化时钟
      遵循医嘱 RCC 设置为内部时钟BearPi Std 板从入门到放弃 - 引气入体篇(1)(由零创建工程到点亮LED)_第1张图片
      设定80MHz 时钟 并 Enter (回车)进行设置
      BearPi Std 板从入门到放弃 - 引气入体篇(1)(由零创建工程到点亮LED)_第2张图片
      配置项目的LED使用引脚为输出
      BearPi Std 板从入门到放弃 - 引气入体篇(1)(由零创建工程到点亮LED)_第3张图片

设置GPIO的标签, 这样生成的代码就会将标签访问LED的GPIO了BearPi Std 板从入门到放弃 - 引气入体篇(1)(由零创建工程到点亮LED)_第4张图片

生成代码
BearPi Std 板从入门到放弃 - 引气入体篇(1)(由零创建工程到点亮LED)_第5张图片

  1. 编译和下载程序到你的开发板中
    1) 打开 STM32CubeMX生成的Keil项目
    在生成项目目录下的MDK-ARM目录下又 BearPi_LED.uvprojx文件双击打开
    2) 进行简单编译
    3) 添加用户代码
    在main函数的while 循环中添加你的代码块, 注意在注释 BEGIN开始的位置添加,这样使用STM32CubeMX重新生成代码的时候会保留块内代码
/**
  * @brief  The application entry point.
  * @retval int
  */
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_GPIO_TogglePin(USER_LED_GPIO_Port, USER_LED_Pin);
		HAL_Delay(1000); // delay 1s 
  }
  /* USER CODE END 3 */
}

Note:
烧写完成之后需要Reset按键复位或者重新上电开发板才有实现效果, 因为并没有设置软件Reset的功能;
BearPi LED 完整工程代码

你可能感兴趣的:(嵌入式吧,单片机,嵌入式硬件,BearPi)