找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2349|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

實驗4-5 EXTI:中斷與事件

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:415128 發(fā)表于 2018-11-18 14:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 zhou__mi 于 2020-6-22 19:06 編輯


程序代碼:
//Pass at PROTEUS 8.7,ZhouMi,1881003@qq.com,20181118,11:52
//實驗內(nèi)容和現(xiàn)象:
//(1)配置完整RCC,使能GPIOC、GPIOE和AFIO的時鐘的時鐘;
//(2)配置NVIC:優(yōu)先組NVIC_PriorityGroup_1為1,占先式PreemptionPriority為0,副優(yōu)先SubPriority為0;
//(3)設(shè)置端口位PA5(聯(lián)接KEY1)為GPIO_Mode_IN_FLOATING、PC6(聯(lián)接LED1)為GPIO_Mode_Out_PP 50MHz;
//(4)LCD顯示實驗信息,沒有學習LCD之前,請忽略;
//(5)配置EXTI:與PA5聯(lián)接的KEY1中斷為EXTI_Line5。
//(6)在stm32f10x_it.c里,配置EXTI9_5_IRQHandler,發(fā)生中斷時將PC6輸出取反驅(qū)動LED1指示中斷發(fā)生了。
//(7)下載運行程序,按下KEY1觸發(fā)中斷EXTI_Line5,LED1指示中斷發(fā)生了。
// 說明:程序源于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)調(diào)用RCC設(shè)置函數(shù)

  /* NVIC configuration */
  NVIC_Configuration();         //(2)調(diào)用NVIC設(shè)置函數(shù)

  /* Configure the GPIO ports */
  GPIO_Configuration();        //(3)調(diào)用GPIO設(shè)置函數(shù)        

  /* Connect KEY1 Button EXTI Line to Key Button GPIO Pin */
  GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource5);        //(4)PA5設(shè)置為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觸發(fā)方式是下降沿
  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); //產(chǎn)生一個軟件中斷

  while (1)                //等待中斷發(fā)生
  {
  }
}




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

工程見附件

實驗4-5 EXTI.rar

1.43 MB, 下載次數(shù): 5, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:407876 發(fā)表于 2018-11-19 09:25 | 只看該作者
謝謝分享,學習中
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表