stm32利用CubeMX完成按键控制LED灯的点亮与熄灭

首先画电图,如下:(会话最小系统后就可以不画了,如果要是画实物的话必须要有的,不能忘,模拟就无所谓了)

然后是CubeMX设置时钟

这次使用的是内部8M时钟,这样能避免proteus闪退的情况,不然会很烦人的,一直在那闪退。

然后设置LED灯和按键:

下面就是在主函数中的死循环中添加点代码,就好啦!

cs 复制代码
 /* USER CODE BEGIN WHILE */
  while (1)
  {
      GPIOA->ODR =0xffff;
      if(HAL_GPIO_ReadPin(key1_GPIO_Port, key1_Pin)==0)  // 读取按键1的值如果变成了低电平0就执行:
    {
        GPIOA->ODR = 0x00fe;              //1111 1110 0xfe  这里是对应从PA7到PA0的每一个端口的值  最后为0就是PA0=0
    }
    
    if(HAL_GPIO_ReadPin(key2_GPIO_Port, key2_Pin)==0)   // 读取按键2的值如果变成了低电平0就执行:
    {
        GPIOA->ODR = 0x00fd;              //1111 1101 0xfd  这里是对应从PA7到PA0的每一个端口的值  右向左第二位为0就是PA1=0
    }
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

最后就是导入proteus中仿真就行了:

最终结果就是按下1号按键LED1亮,松开熄灭。 按下2号按键LED2亮,松开熄灭。

相关推荐
✎ ﹏梦醒͜ღ҉繁华落℘13 小时前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
u1521096484914 小时前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd84510150014 小时前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼15 小时前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
牛根生同志15 小时前
SPI数据收发的时候 TXE与RXNE标志位置位的时机
stm32·spi·transfer
wohoo_wangzi16 小时前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
goldenrolan17 小时前
学习型红外控制系统稳定性挂测工装专项总结
软件测试·python·stm32·嵌入式·红外
✎ ﹏梦醒͜ღ҉繁华落℘18 小时前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展19 小时前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
集芯微电科技有限公司19 小时前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设