久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: stm32中斷用不了怎么回事 [打印本頁]

作者: 天藍色的Toto    時間: 2019-2-24 00:25
標題: stm32中斷用不了怎么回事
剛剛開始學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);
}



作者: laigs218    時間: 2019-2-24 07:51
stm32中斷應使用在 stm32f10x_it.c
Main Interrupt Service Routines
作者: 天藍色的Toto    時間: 2019-2-26 23:42
laigs218 發表于 2019-2-24 07:51
stm32中斷應使用在 stm32f10x_it.c
Main Interrupt Service Routines

謝謝幫忙!!!!
作者: 906869996    時間: 2019-2-27 08:34
一臉懵逼。中斷函數名寫錯了吧?




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲人久久 | 欧美成人高清 | 国产激情视频在线观看 | 成人av一区二区三区 | 国产免费观看久久黄av片涩av | 欧美日韩精品一区 | 午夜av毛片 | 欧美精品成人一区二区三区四区 | 久久噜噜噜精品国产亚洲综合 | 国产精品久久免费观看 | 黄色一级大片在线免费看产 | 久久成人国产 | 亚洲久久一区 | 久久久久免费精品国产小说色大师 | 在线不卡一区 | 日韩中文一区二区三区 | 精品国产一区二区三区久久狼黑人 | 久久不卡| 欧美三区| 精品国产一级片 | 欧美黄色小视频 | 91大神在线资源观看无广告 | 国产高清在线精品一区二区三区 | 久久蜜桃av | 成人在线免费视频观看 | 毛片一区二区 | 国产成人精品一区二区三区四区 | 亚洲精精品 | 国精产品一区一区三区免费完 | 中文字幕免费 | a级毛片免费高清视频 | 久久久久亚洲精品 | 亚洲超碰在线观看 | 色香婷婷| 日韩中文字幕视频 | 日韩中文字幕在线视频观看 | 日韩a| 午夜视频免费在线观看 | 日韩亚洲欧美一区 | 欧美日韩精品一区二区三区四区 | 国产一区二区精品在线 |