GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_IN_PU_IT)//引脚初始化
EXTI_DeInit()//中断初始化
EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOD, EXTI_SENSITIVITY_FALL_LOW)//下降沿
enableInterrupts()//开全局中断
I1 I0不能直接写,只能通过开中断或关中断来写,上电默认是11当用指令开中断时( _asm("rim\n")),为00
当发生中断时,由当前中断的(ITC_SPRx) 载入I[1:0],主要用于做中断嵌套
退出中断自动清0
因此在写EXTI_CR1,需将ITC_SPRx配置到11,或加入禁中断指令
研究了下,你描述的逻辑好像有矛盾,我疑问如下:
控制过程如下:
计时器启动(计数时间5秒?),
pin19(PD2)输出高电平(在计数计数结束后输出低电平?);
当m为奇数时,pin13(PC3)输出高电平(PIN14输出低电平?);
当m为偶数时,pin14(PC4)输出高电平(PIN13输出低电平?)。
最终计数结束后输出状态如何?
pin10(PA3)有高电平脉冲信号输入时(脉冲长度多少?),
pin19(PD2)停止输出(输出低电平还是高电平?);
如果在一个计时周期内(5秒吗?),
pin10(PA3)没有高电平信号输入(一直维持低电平吗?),
则pin18(PD1)输出高电平(有高电平脉冲信号时输出低电平?)。
pin15(PC5)有高电平脉冲信号输入时(脉冲长度多少?),
pin13(PC3)停止输出(输出低电平还是高电平?);
如果在一个计时周期内(5秒吗?),
pin15(PC5)没有高电平信号输入(一直维持低电平吗?),
且计数器值m为奇数,则pin18(PD1)输出高电平(m是偶数时怎么处理?)。
。。。。。。。。。。。
主要程序到底是触发后输出一个序列电平还是测量输入脉冲?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)