stm32CubeMX+Keil使用HAL库点灯

一、利用CubeMX新建工程点亮LED灯

在本次实验中,使用到的STM32硬件为,STM32F103C8T6;
软件为,STM32CubeMX软件,以及STM32F1xxHAL库,KEIL MDK-arm软件。

1、新建工程

在主界面点击File->New Project->在左边方框中输入要选择的芯片型号即可,双击两下即可新建工程,新建好如下图所示。

stm32CubeMX+Keil使用HAL库点灯_第1张图片

2、配置引脚

只需把目标LED对应引脚设置为GPIO_Output即可,这里选择管脚PB0 PB5 PA1,左键单击一下对应管教,全部设为GPIO_Output即可

stm32CubeMX+Keil使用HAL库点灯_第2张图片

3、时钟源配置

 点击上面Clock Configuration进行配置,即配置32的时钟树框图,默认时钟是使用内部RC振荡器。

stm32CubeMX+Keil使用HAL库点灯_第3张图片

配置RCC使用外部时钟

点击Pinout&Configuration,左侧A->Z->RCC,然后如图操作,选择晶振。

stm32CubeMX+Keil使用HAL库点灯_第4张图片

 再次回到Clock Configuration,将HCLK改为48MHZ.然后弹窗单击yes。

 4、进行保存设置

单击上方Project Manage

填入相应内容即可,记得将IDE选为MDK-ARM,后面按照自己的情况来填写

stm32CubeMX+Keil使用HAL库点灯_第5张图片

 然后单击Code Gerenator进行下一步配置,如图

stm32CubeMX+Keil使用HAL库点灯_第6张图片

 然后单击上面GENERATE CODE 进行创建工程。一段时间后,自动调用keil软件。

5、代码编写

在main.c文件的main函数下的while循环中,添加下面几行代码


	  HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);
	  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);
	  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET);
	  HAL_Delay(1000);

	  HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);
	  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);
	  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET);
	  HAL_Delay(1000);
	  
	  HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);
	  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);
	  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);
	  HAL_Delay(1000);

。添加完成如下图所示:stm32CubeMX+Keil使用HAL库点灯_第7张图片

 编译发现没有错误,就可以进行烧录操作。

stm32CubeMX+Keil使用HAL库点灯_第8张图片

 由于手边暂时没有开发板,就先不进行实机展示。

二、keil观察3个GPIO端口的输出波形

在没有示波器条件下,可以使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形,更方便动态跟踪调试和定位代码故障点。

1、设置仿真模式

在使用仿真模式时,需要进行Debug模式设置,下图是Debug设置模式。设置为如下图所示:

stm32CubeMX+Keil使用HAL库点灯_第9张图片

设置完成后,开启调试模式,打开逻辑分析仪

 stm32CubeMX+Keil使用HAL库点灯_第10张图片

添加要观察的I/O口 

 stm32CubeMX+Keil使用HAL库点灯_第11张图片要把display type改为bit

设置好后,按第二个按钮即可开始仿真。

stm32CubeMX+Keil使用HAL库点灯_第12张图片

 即可得到仿真图。

你可能感兴趣的:(stm32,单片机,arm)