【解析新特性】300W单路输出工业电源>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » stm32l053按键控制灯亮灭

共7条 1/1 1 跳转至

stm32l053按键控制灯亮灭

菜鸟
2015-11-14 21:59:24    评分
看了各位大神写的东西,感觉自己没什么可写了,又乱忙活了很多天,我也不知道忙了啥。看这帖子已经写了那么多了,我得加班加点赶出点什么不是。。我就拿一篇丑文来凑数了



关键词: stm32l053    

菜鸟
2015-11-14 22:22:03    评分
2楼

第一步,引脚配置;

从下图可以看出按键接在PC13号脚。LED接在PA5.

PC13号脚设置成输入,PA5设置成输出。


菜鸟
2015-11-14 22:24:38    评分
3楼

二,时钟配置


菜鸟
2015-11-14 22:34:24    评分
4楼

于是就出现了这。。

然后我们再看看GPIO原文件有什么;

状态翻转

读输入状态


菜鸟
2015-11-14 22:36:20    评分
5楼

然后再插入如下函数,下到板子上就ok。还挺灵敏的,

void delay()

{
uint32_t i=0xffff;
while(i--);
}
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();

  /* Configure the system clock */
  SystemClock_Config();

  /* 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 */
  if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13)==0)
{
delay();
   if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13)==0)
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);
   while(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13)==0);
}
  /* USER CODE END 3 */
  }
}


专家
2015-11-14 23:44:27    评分
6楼
大神威武,又学到好多东西

专家
2017-03-11 14:35:34    评分
7楼
不错,谢谢楼主分享经验。

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]