找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3593|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32F4在UCOS下開(kāi)中斷

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:82083 發(fā)表于 2015-6-9 02:25 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
不說(shuō)了,貼代碼TALK IS LESS.SHOW ME THE CODE.


這個(gè)是。c文件


#include "includes.h"
#include "stm32f4xx_exti.h"
void EXTILine4_Config(void)
{
  
  GPIO_InitTypeDef  GPIO_InitStructure;
  NVIC_InitTypeDef  NVIC_InitStructure;
  EXTI_InitTypeDef  EXTI_InitStructure;


RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
  

  GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IN;
  GPIO_InitStructure.GPIO_PuPd =GPIO_PuPd_NOPULL;
  GPIO_InitStructure.GPIO_Pin =GPIO_Pin_4;
  GPIO_Init(GPIOD,&GPIO_InitStructure);


  SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOD,EXTI_PinSource4);


  EXTI_InitStructure.EXTI_Line =EXTI_Line4;
  EXTI_InitStructure.EXTI_Mode =EXTI_Mode_Interrupt;
  EXTI_InitStructure.EXTI_Trigger =EXTI_Trigger_Rising;  
  EXTI_InitStructure.EXTI_LineCmd =ENABLE;
  EXTI_Init(&EXTI_InitStructure);


  NVIC_InitStructure.NVIC_IRQChannel =EXTI4_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x01;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01;
  NVIC_InitStructure.NVIC_IRQChannelCmd =ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}

void EXTI4_IRQHandler()
{ long long int  i;
//   OS_CPU_SR cpu_sr;

//    OS_ENTER_CRITICAL(); //????????,????
// //?????????(0~255)
//   OSIntEnter ( );      //OSSemPost(NMEA_MBOX);
//    OS_EXIT_CRITICAL();  //????????
//  

if(EXTI_GetITStatus(EXTI_Line4) !=RESET)
{  
          BUZZER(HIGH);
delay_ms(1000);
            BUZZER(LOW);

   }
EXTI_ClearFlag(EXTI_Line4);
// OSIntExit ( );

}



接下來(lái)是。h

#ifndef _EXIT_H_
#define _EXIT_H_
void EXTILine4_Config(void);
void Buzzer(uint8_t time, uint8_t OnTime, uint8_tOffTime);

#endif




------------------------------------------------------------------------------

需要注意的是注意配置的引腳有沒(méi)有錯(cuò)誤,在ucos下要把那兩句注釋了的OS開(kāi)頭的語(yǔ)句加上,用來(lái)告訴系統(tǒng)中斷的開(kāi)閉,讓系統(tǒng)進(jìn)行任務(wù)調(diào)度,具體參考  可剝奪式內(nèi)核的任務(wù)調(diào)度策略

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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