標(biāo)題: 實(shí)驗(yàn)4-5 EXTI:中斷與事件 [打印本頁]

作者: zhou__mi    時(shí)間: 2018-11-18 14:00
標(biāo)題: 實(shí)驗(yàn)4-5 EXTI:中斷與事件
本帖最后由 zhou__mi 于 2020-6-22 19:06 編輯


程序代碼:
//Pass at PROTEUS 8.7,ZhouMi,1881003@qq.com,20181118,11:52
//實(shí)驗(yàn)內(nèi)容和現(xiàn)象:
//(1)配置完整RCC,使能GPIOC、GPIOE和AFIO的時(shí)鐘的時(shí)鐘;
//(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顯示實(shí)驗(yàn)信息,沒有學(xué)習(xí)LCD之前,請(qǐng)忽略;
//(5)配置EXTI:與PA5聯(lián)接的KEY1中斷為EXTI_Line5。
//(6)在stm32f10x_it.c里,配置EXTI9_5_IRQHandler,發(fā)生中斷時(shí)將PC6輸出取反驅(qū)動(dòng)LED1指示中斷發(fā)生了。
//(7)下載運(yùn)行程序,按下KEY1觸發(fā)中斷EXTI_Line5,LED1指示中斷發(fā)生了。
// 說明:程序源于STM3210E-EVAL,請(qǐng)看本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)生一個(gè)軟件中斷

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




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

工程見附件

實(shí)驗(yàn)4-5 EXTI.rar

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


作者: jackyangsun    時(shí)間: 2018-11-19 09:25
謝謝分享,學(xué)習(xí)中




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1