欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2638|回復: 3
打印 上一主題 下一主題
收起左側

stm32中斷用不了怎么回事

[復制鏈接]
跳轉到指定樓層
樓主
ID:466381 發表于 2019-2-24 00:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
剛剛開始學stm32,想用中斷(gpioC13)控制led燈(gpioB12)電平翻轉。結果自己寫了個程序失敗了。。。。。。
#include<stm32f10x.h>
#include<stm32f10x_gpio.h>
#include<misc.h>
#include<stm32f10x_rcc.h>
#include<stm32f10x_it.h>

#define LED GPIO_Pin_12
#define Key GPIO_Pin_13
#define LEDCLK RCC_APB2Periph_GPIOB
#define KEYCLK (RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO)
#define ON (BitAction)1
#define OFF (BitAction)0
#define Toggle (BitAction)(1-GPIO_ReadOutputDataBit(GPIOB, LED))


#define KeyPORT GPIO_PortSourceGPIOC
#define KeySOURCE GPIO_PinSource0
#define KeyLINE EXTI_Line0
#define KeyHander EXTI0_IRQHandler



void LEDInit()
{
GPIO_InitTypeDef GPIO_InitStructure;
  RCC_APB2PeriphClockCmd(LEDCLK, ENABLE); // 使能端口時鐘  
  GPIO_InitStructure.GPIO_Pin = LED;       
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOB, &GPIO_InitStructure);  //初始化端口
        GPIO_SetBits(GPIOB, LED);         // 關閉所有LED
}

void NVICStart()
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel=EXTI0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
}

void InterruptStart()
{
GPIO_InitTypeDef GPIO_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
RCC_APB2PeriphClockCmd(KEYCLK, ENABLE); // 使能端口時鐘
NVICStart();
GPIO_InitStructure.GPIO_Pin = Key;       
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;     
GPIO_Init(GPIOC,&GPIO_InitStructure);  
GPIO_EXTILineConfig(KeyPORT,KeySOURCE);
EXTI_InitStructure.EXTI_Line=KeyLINE;
EXTI_InitStructure.EXTI_Mode= EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger= EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStructure);
}

void LEDON()
{
GPIO_WriteBit(GPIOB, LED,ON);
}

void LEDOFF()
{
GPIO_WriteBit(GPIOB, LED,OFF);
}

void LEDToggle()
{
GPIO_WriteBit(GPIOB, LED,Toggle);
}

void delayXus(u16 i)
{
        unsigned char t = 0;
        for(;i>0;i--)
        {
                for(t=0;t<2;t++)
                {}
        }
}
void delayXms(u16 g)
{
while(g--)
{
delayXus(1000);
}
}

void ZD()
{
if(EXTI_GetITStatus(EXTI_Line0)!=RESET)
{
LEDToggle();
EXTI_ClearITPendingBit(EXTI_Line0);
}
}



int main()
{
SystemInit();
        LEDInit();
        InterruptStart();
        LEDOFF();
        while(1);
}


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

使用道具 舉報

沙發
ID:433680 發表于 2019-2-24 07:51 | 只看該作者
stm32中斷應使用在 stm32f10x_it.c
Main Interrupt Service Routines

評分

參與人數 1黑幣 +60 收起 理由
admin + 60 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:466381 發表于 2019-2-26 23:42 | 只看該作者
laigs218 發表于 2019-2-24 07:51
stm32中斷應使用在 stm32f10x_it.c
Main Interrupt Service Routines

謝謝幫忙!!!!
回復

使用道具 舉報

地板
ID:298850 發表于 2019-2-27 08:34 | 只看該作者
一臉懵逼。中斷函數名寫錯了吧?
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表