求各位大佬行行好,帮助一下

2019-07-20 10:24发布

        改变IO口的状态
if((x>3400 && x<3650) && (y>3700&&y<4000))
        {
                GPIO_SetBits(GPIOA,GPIO_Pin_3);
//                printf("%d ",0);
        }               
        if((x>3650 && x<4000) && (y>3400&&y<3600))
        {
                GPIO_SetBits(GPIOA,GPIO_Pin_4);
//                                                printf("%d ",1);
        }       



滴答定时器
#include <includes.h>
#include "systick.h"
#include "stm32f10x.h"
void SysTick_Init(void)
{

      if (SysTick_Config(SystemFrequency / 100000))        // ST3.0.0???
        if (SysTick_Config(SystemCoreClock / 100000))        // ST3.5.0???
        {
           while (1);

        }

        SysTick->CTRL &= ~ SysTick_CTRL_ENABLE_Msk;
}
中断
void EXTI3_IRQHandler(void)
{
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3))   {     timenow = 0;     SysTick->CTRL |=  SysTick_CTRL_ENABLE_Msk;//   printf("%d ",1);     }    if(!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3))    {  printf("%d ",9);     timeCh2 = timenow;      printf("%d ",timeCh2)        ;             }
EXTI_ClearITPendingBit(EXTI_Line3);
}               


void SysTick_Handler(void)
{
        timenow++;
        printf("2");       
}


为什么它可以输出就但是timeCH2一直是0,并且2没有输出,它是不是没进滴答定时器的中断,为什么进不去呢

0条回答

一周热门 更多>