找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1653|回复: 1
打印 上一主题 下一主题
收起左侧

实验4-5 EXTI:中断与事件

[复制链接]
跳转到指定楼层
楼主
本帖最后由 zhou__mi 于 2020-6-22 19:06 编辑


程序代码:
//Pass at PROTEUS 8.7,ZhouMi,1881003@qq.com,20181118,11:52
//实验内容和现象:
//(1)配置完整RCC,使能GPIOC、GPIOE和AFIO的时钟的时钟;
//(2)配置NVIC:优先组NVIC_PriorityGroup_1为1,占先式PreemptionPriority为0,副优先SubPriority为0;
//(3)设置端口位PA5(联接KEY1)为GPIO_Mode_IN_FLOATING、PC6(联接LED1)为GPIO_Mode_Out_PP 50MHz;
//(4)LCD显示实验信息,没有学习LCD之前,请忽略;
//(5)配置EXTI:与PA5联接的KEY1中断为EXTI_Line5。
//(6)在stm32f10x_it.c里,配置EXTI9_5_IRQHandler,发生中断时将PC6输出取反驱动LED1指示中断发生了。
//(7)下载运行程序,按下KEY1触发中断EXTI_Line5,LED1指示中断发生了。
// 说明:程序源于STM3210E-EVAL,请看本project的readme.txt
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* File Name          : main.c
* Author             : MCD Application Team
* Version            : V2.0.1
* Date               : 06/13/2008
* Description        : Main program body
********************************************************************************
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/

/* Includes ------------------------------------------------------------------*/
#include "stm32f10x_lib.h"


/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
static vu32 TimingDelay = 0;
EXTI_InitTypeDef EXTI_InitStructure;
ErrorStatus HSEStartUpStatus;

/* Private function prototypes -----------------------------------------------*/
void RCC_Configuration(void);
void GPIO_Configuration(void);
void NVIC_Configuration(void);


void SysTick_Config(void);
void Delay(u32 nCount);
void Decrement_TimingDelay(void);
/* Private functions ---------------------------------------------------------*/
/*******************************************************************************
* Function Name  : main
* Description    : Main program.
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
int main(void)
{
#ifdef DEBUG
  debug();
#endif

  /* System Clocks Configuration */
  RCC_Configuration();         //(1)调用RCC设置函数

  /* NVIC configuration */
  NVIC_Configuration();         //(2)调用NVIC设置函数

  /* Configure the GPIO ports */
  GPIO_Configuration();        //(3)调用GPIO设置函数        

  /* Connect KEY1 Button EXTI Line to Key Button GPIO Pin */
  GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource5);        //(4)PA5设置为EXTI5

  /* Configure KEY1 Button EXTI Line to generate an interrupt on falling edge */  
  EXTI_InitStructure.EXTI_Line = EXTI_Line5;        //EXTI中断线是EXTI_Line5
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;        //EXTI中断模式是中断(另外一种是事件)
  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;        //EXTI触发方式是下降沿
  EXTI_InitStructure.EXTI_LineCmd = ENABLE;                //使用EXTI
  EXTI_Init(&EXTI_InitStructure);        //(5)初始化EXTI

  /* Generate software interrupt: simulate a falling edge applied on KEY1 Button EXTI line */
  EXTI_GenerateSWInterrupt(EXTI_Line5); //产生一个软件中断

  while (1)                //等待中断发生
  {
  }
}




/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/

工程见附件

实验4-5 EXTI.rar

1.43 MB, 下载次数: 5, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:407876 发表于 2018-11-19 09:25 | 只看该作者
谢谢分享,学习中
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表