打印

STM32外部中断信号有什么要求?

[复制链接]
2811|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
silverpal|  楼主 | 2011-10-16 16:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的外部中断信号是一种脉冲,高电平16ms,低电平只有100us,这种脉冲能够触发外部中断吗?如果可以,需要做哪些设置?我现在的问题就是无法触发中断.
沙发
airwill| | 2011-10-16 17:58 | 只看该作者
当然可以, 把你的程序贴出来看看

使用特权

评论回复
板凳
silverpal|  楼主 | 2011-10-25 21:41 | 只看该作者
//初始化代码
void GT800_Configuration(void)
{

GPIO_InitTypeDef gpio;

NVIC_InitTypeDef nvic;

EXTI_InitTypeDef exti;


/* Enable GPIOB clock */

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);


/* INT初始化为悬浮输入*/

gpio.GPIO_Pin = GT800_INT;

gpio.GPIO_Mode = GPIO_Mode_IPU;

GPIO_Init(GPIOB,&gpio);


/* Configure the NVIC Preemption Priority Bits */  

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);



/* Enable the EXTI0 Interrupt */

nvic.NVIC_IRQChannel = EXTI0_IRQn;

nvic.NVIC_IRQChannelPreemptionPriority = 1;

nvic.NVIC_IRQChannelSubPriority = 1;

nvic.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&nvic);


EXTI_ClearITPendingBit(EXTI_Line0);//清除中断标志



GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource0);//管脚选择



EXTI_DeInit();



exti.EXTI_Line = GPIO_Pin_0;  



exti.EXTI_Mode = EXTI_Mode_Interrupt;
//产生中断



exti.EXTI_Trigger = EXTI_Trigger_Falling;



exti.EXTI_LineCmd = ENABLE;
//启动中断的接收  



EXTI_Init(&exti);           
//外部设备中断启动



I2C1_Configuration();
}

使用特权

评论回复
地板
香水城| | 2011-10-25 21:43 | 只看该作者
使用外部中断要打开AFIO时钟。

使用特权

评论回复
5
silverpal|  楼主 | 2011-11-6 12:16 | 只看该作者
4# 香水城

香版,用其它的外设,比如串口时不也复用了IO吗?为什么不打开AFIO时钟也可以工作?

使用特权

评论回复
6
香水城| | 2011-11-7 09:36 | 只看该作者
4# 香水城

香版,用其它的外设,比如串口时不也复用了IO吗?为什么不打开AFIO时钟也可以工作?
silverpal 发表于 2011-11-6 12:16


不为什么,它就是这么设计的。

使用特权

评论回复
7
shuaijing| | 2011-11-22 20:55 | 只看该作者
还是先 把代码贴出来。

使用特权

评论回复
8
nongfuxu| | 2012-3-20 12:05 | 只看该作者
不为什么,它就是这么设计的

;P,软件与硬件的碰撞。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

28

帖子

1

粉丝