STM32CubeMX的使用(以点亮闪烁LED为例)

1. 利用STM32Cube建立工程模板,并对嵌入式芯片进行正确的引脚配置。

(1)选择芯片:STM32F103C8Tx,在芯片选择器中选择对应的芯片:

STM32CubeMX的使用(以点亮闪烁LED为例)_第1张图片

(2)选择自己的仿真器类型: 

STM32CubeMX的使用(以点亮闪烁LED为例)_第2张图片

(3)由于开发板有外部晶振,使用外部时钟:

STM32CubeMX的使用(以点亮闪烁LED为例)_第3张图片

(4)为了让LED闪烁和蜂鸣器响,我们经查找电路图,对应引脚分别为PB8 和PB14。

STM32CubeMX的使用(以点亮闪烁LED为例)_第4张图片

(5)接下来配置时钟树:

STM32CubeMX的使用(以点亮闪烁LED为例)_第5张图片

(6)我们用的开发环境是Keil5,所以选择MDK-ARM。

STM32CubeMX的使用(以点亮闪烁LED为例)_第6张图片

STM32CubeMX的使用(以点亮闪烁LED为例)_第7张图片

(7)配置完成后点击GENERATE CODE 生成代码。

STM32CubeMX的使用(以点亮闪烁LED为例)_第8张图片

(8)让小灯闪烁,在while(1)循环里写入:

STM32CubeMX的使用(以点亮闪烁LED为例)_第9张图片

让蜂鸣器响:

STM32CubeMX的使用(以点亮闪烁LED为例)_第10张图片

(9)实验现象: 

STM32CubeMX的使用(以点亮闪烁LED为例)_第11张图片

五、总结

(1)实现小灯闪烁有两种方式:

while (1)

{

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);

 //向PB9输出高电平,点亮LED1灯

HAL_Delay(500);                                     

//延时500ms

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET);   

//向PB9输出低电平,熄灭LED1灯

HAL_Delay(500);                                   

 //延时500ms

               

HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);            

//用翻转电平的方式,实现LED2灯的点亮与熄灭

HAL_Delay(500);                                   

 //延时500ms

/* USER CODE END WHILE */

 

/* USER CODE BEGIN 3 */

}

 

(2)GPIO电平翻转HAL库函数

void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx,  uint16_t GPIO_Pin);

/*

参数1:GPIOx,端口号,如:GPIOB,GPIOF。

参数2:GPIO_Pin,引脚号,如:GPIO_PIN_9,GPIO_PIN_12。

返回值:void,空。

*/

//应用举例:将PB8引脚输出电平翻转。

HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_8);

 

(3) GPIO电平输出HAL库函数

 

void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);

/*

参数1:GPIOx,端口号,如:GPIOB,GPIOF。

参数2:GPIO_Pin,引脚号,如:GPIO_PIN_9,GPIO_PIN_12。

参数3:PinState,引脚输出状态。高电平----GPIO_PIN_SET;低电平----GPIO_PIN_RESET。

返回值:void,空。

*/

//应用举例:向PB8引脚输出高电平。 

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8, GPIO_PIN_SET);

 

你可能感兴趣的:(嵌入式,stm32,单片机,算法,物联网)