资讯详情

Proteus仿真stm32f103R6Tx——外部中断控制LED亮灭(Cube MX+Keil5+proteus)

目录

  • 前言
  • Cube MX配置
      • GPIO
      • NVIC
  • Keil5 代码编写
      • main.h
      • gpio.c
  • proteus仿真
  • 其他可能的问题

前言

熟悉使用proteus结合相关操作HAL图书馆编写代码。本文介绍了外部中断控制LED亮灭,以及探索阶段的一些问题和相关解决方案。一些基本操作和最后一篇文章Proteus基本操作介绍基本部分介绍相同,本文将删除。如果表达不当,请纠正。

Cube MX配置

SYS、RCC、Clock Configuration部分配置不再重复

GPIO

PA1、PA2设置中断EXIT,下降沿Falling Edge,上拉电阻(Pull up) PA4、PA5连接两个LED 在这里插入图片描述

NVIC

如果不需要打开中断,HAL-Delay这里不需要设置优先级等优先级会发生冲突的函数。

Keil5 代码编写

main.h

要设置宏定义的端口位置

/* Private defines -----------------------------------------------------------*/ /* USER CODE BEGIN Private defines */ #define key1_GPIO_Pin GPIO_PIN_1 #define key2_GPIO_Pin GPIO_PIN_2  /* USER CODE END Private defines */ 

gpio.c

/* USER CODE BEGIN 2 */ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { 
          switch(GPIO_Pin)  { 
           case GPIO_PIN_1://进入PA中断按钮触发    HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_4);break;//翻转PA4电平,LED由亮变灭或反之亦然   case GPIO_PIN_2://进入PA中断按钮触发    HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);break;//翻转PA5电平,LED由亮变灭或反之亦然   default:break;  } }  /* USER CODE END 2 */ 

proteus仿真

开关,D1灭

其他可能的问题

proteus如何实现电路仿真设计图中许多器件之间没有实线连接? 上拉电阻和下拉电阻有什么作用?

标签: 57r6电阻300pa2pa传感器光敏传感器连线

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台