中级会员
 
- 积分
- 258
- 金钱
- 258
- 注册时间
- 2014-3-8
- 在线时间
- 18 小时
|
5金钱
最近在调外部中断,为上升沿触发。在中断前,中断输入引脚应该是低电平吧,为什么是高电平啊!!求解
#include"led.h"
void data_init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
EXTI_InitTypeDef EXTI_InitStruct;
NVIC_InitTypeDef NVIC_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO |RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_1| GPIO_Pin_2;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOB,&GPIO_InitStruct); //PB.1为时钟输入 PB.2数据输入
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_3;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IPD;
GPIO_Init(GPIOB,&GPIO_InitStruct); // 引脚3为片选输入(中断输入)
GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource3); //设置PB.3为外部中断的输入引脚
EXTI_InitStruct.EXTI_Line=EXTI_Line3;
EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Rising;
EXTI_InitStruct.EXTI_LineCmd=ENABLE;
EXTI_Init(& EXTI_InitStruct); //设置外部中断通道为中断线3
NVIC_InitStruct.NVIC_IRQChannel=EXTI3_IRQn;
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=2;
NVIC_InitStruct.NVIC_IRQChannelSubPriority=2;
NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(& NVIC_InitStruct); //设置外部中断线3的中断优先级管理器
}
|
最佳答案
查看完整内容[请看2#楼]
回复【2楼】Admin:
---------------------------------
原因找到了,可能是板子的问题,换了一个引脚,就没问题啦,谢了,原子哥
|