STM32CubeMX学习教程之一:GPIO输出之跑马灯

 

完整源码下载:

https://github.com/simonliu009/STM32CubeMX-GPIO-Control

软件版本:

STM32CubeMX V4.25.0 
System Workbench V2.4
固件库版本:

STM32Cube FW_F1 V1.6.1

硬件:OneNet 麒麟座V2.3

在STM32CubeMX中新建项目,选择正确的MCU型号

首先设置RCC和SYS,如下图

然后根据板子实际情况设置时钟(麒麟座外部晶振是12M,STM32F103x的最高主频是72M),如下图

GPIO设置 PC7, PC8, PA12和 PC10为GPIO_OUTPUT, (这是麒麟座V2.3的四个LED管脚),如下图

STM32CubeMX学习教程之一:GPIO输出之跑马灯_第1张图片

GPIO配置如下:

STM32CubeMX学习教程之一:GPIO输出之跑马灯_第2张图片

Project - setting ,ToolChain/IDE选择 SW4STM32,注意项目名称这里不能有空格,最好不要用中文。

 

勾选这里

 

 

保存以后,点击任务栏的生成代码图标

生成完毕以后在弹出的对话框点击"Open Project", System Workbench自动打开Eclipse并导入和打开了项目,然后展开项目树,双击编辑main.c,在while(1)之后和/*USER CODE END WHILE*/之间加入代码如下:

  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);
	  HAL_Delay(500);
	  HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);
	  HAL_Delay(500);
	  HAL_GPIO_TogglePin(LED3_GPIO_Port,LED3_Pin);
	  HAL_Delay(500);
	  HAL_GPIO_TogglePin(LED4_GPIO_Port,LED4_Pin);
	  HAL_Delay(500);
  /* USER CODE END WHILE */

 

然后右键点击项目,选择Properties, Run-Debug Settings, 点击右侧的New,在弹出对话框中选择Ac6 STM32 Debugging。

然后任务栏上点击Run图,当然会报错的,原因请查看另一篇我的博客(https://blog.csdn.net/toopoo/article/details/79680323),所以需要右键点击  项目名Run.cfg ,给它改个名字,

然后右键点击项目树里面的项目名称,选择“Propeties”,然后在Run/Debug Settings-选择项目名-Edit-Main-C/C++Application那里点击“Search Project”,然后选择出现的默认的elf文件:

然后在Debugger-User Defined-Browse 那里选择你自己改名的配置文件:

然后右键点击那个新的cfg文件,选择"Open With - Text Editor", 进行如下更改:

source [find interface/stlink.cfg] 更改为 source [find interface/stlink-v2.cfg]

reset_config srst_only srst_nogate connect_assert_srst 这一行改为 reset_config none 

然后再Run一下,就可以了。

 

你可能感兴趣的:(STM相关)