STM32代码(不完全)

Posted 贩卖星辰点点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32代码(不完全)相关的知识,希望对你有一定的参考价值。

1.内置LED闪烁

STM32最小系统板拥有内置LED,连接芯片PC13口
1+.根据cubemx生成代码模板;(网上有详细教程)
2+.在模板的主函数处的while(1)处,填写代码(如图):

	//HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET)是HAL库中自定义的管脚,可以自行查看
	HAL_Delay(50);
	HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);//RESET低电平
	HAL_Delay(50);
	HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);//SET高电平

2.按键

  • 三个按键,两个LED
  • 实现功能:按键1按下,控制LED1亮灭;按键2按下,控制LED2亮灭;按键3按下,控制LED1和LED2亮灭
  • 管脚设置,详细上拉下拉设置,之前写过,可以翻阅查看

  • 代码
		#define KEY0			HAL_GPIO_ReadPin((GPIO_TypeDef *)GPIOC, (uint16_t) GPIO_PIN_5)  //宏定义按键,方便下边使用
		
		#define KEY1			HAL_GPIO_ReadPin((GPIO_TypeDef *)GPIOA, (uint16_t) GPIO_PIN_15)
		
		#define KEYWKUP		HAL_GPIO_ReadPin((GPIO_TypeDef *)GPIOA, (uint16_t) GPIO_PIN_0)
		
		if(KEY0==0)HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET);
		if(KEY1==1)HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);	

		
		if(KEY1==0)HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);
		if(KEY0==1)HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);
		
		if(KEYWKUP==0)HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);	HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET);
		if(KEYWKUP==1)HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);	HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);

以上是关于STM32代码(不完全)的主要内容,如果未能解决你的问题,请参考以下文章

STM32代码(不完全)

STM32 通过引导加载程序闪烁失败 (UART1)

STM32相同的while循环代码但编译成不同的汇编代码

STM32 & TLV5628 SPI 通信

STM32代码上传成功但不运行

重学STM32--- FSMC+LCD