(2)Proteus 8.9上的STM32仿真系列(HAL)---按键输入控制LED

(2)Proteus 8.9上的STM32仿真系列(HAL)—按键输入控制LED

设计方案:按钮按一下,灯亮,再按一下灭。如此反复。
一、proteus的配置见第一节
如下搭建原理图(STM32 F103C6,和第一节一样)
在这里插入图片描述
二、cubemax ide配置
1.使能rcc配置和PB0/PB1,如上一节。再将PB6配置为输入模式。
在这里插入图片描述
2.Project-》generate code或点击这个小齿轮
在这里插入图片描述
3.在main.c处插入如下代码
(1)生成bin和HEX文件配置(重要),菜单project-》properties-》c/c++ build-》settings-》MCU Post build outputs,勾选binary和hex结尾那两项。 apply and close.
(2)Project-》build all

// An highlighted block
  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_6)==GPIO_PIN_SET)//检测按钮是否按下,如按下检测LED引脚电平,将其置反
	  {
		  if(HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_0)==GPIO_PIN_SET)
			  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_1, GPIO_PIN_RESET);
		  else
			  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_1, GPIO_PIN_SET);
	  }
    /* USER CODE END WHILE */

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

三、打开proteus,如上节设置晶振频率,配置供电网。
program file选择cubemax ide 工程目录debug文件夹下的hex文件。
调试-》不加断点仿真 后续不再啰嗦基础配置了,基本都一样
在这里插入图片描述
在这里插入图片描述
由于程序没有防抖延时,出现按钮偶尔失灵的情况,有兴趣的同志可以加上。
相关资料可以可靠野火和正点原子的官网,虽然不一定是对应的芯片,但操作差不多。到时候有需要记得买他们板子就好。

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值