新手上路
- 积分
- 20
- 金钱
- 20
- 注册时间
- 2017-12-21
- 在线时间
- 4 小时
|
5金钱
改变IO口的状态
if((x>3400 && x<3650) && (y>3700&&y<4000))
{
GPIO_SetBits(GPIOA,GPIO_Pin_3);
// printf("%d\r\n",0);
}
if((x>3650 && x<4000) && (y>3400&&y<3600))
{
GPIO_SetBits(GPIOA,GPIO_Pin_4);
// printf("%d\r\n",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\r\n",1); } if(!GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)) { printf("%d\r\n",9); timeCh2 = timenow; printf("%d\r\n",timeCh2) ; }
EXTI_ClearITPendingBit(EXTI_Line3);
}
void SysTick_Handler(void)
{
timenow++;
printf("2");
}
为什么它可以输出就但是timeCH2一直是0,并且2没有输出,它是不是没进滴答定时器的中断,为什么进不去呢
|
|