#include "stm32f10x.h"
/*
SysTick点灯
*/
void SysTick_Handler(void) //SysTick中断处理
{
static volatile unsigned x=0;//计数
if (x<1000) {x++;return;}//1秒
x=0;
if (GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0)) //检测led电平
GPIO_ResetBits(GPIOB,GPIO_Pin_0);//关灯
else GPIO_SetBits(GPIOB,GPIO_Pin_0);//开灯
}
int main(void)
{
GPIO_InitTypeDef gpiojiegouti;//定义端口结构体
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//开端口时钟
gpiojiegouti.GPIO_Pin=GPIO_Pin_0;//0号引脚
gpiojiegouti.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出
gpiojiegouti.GPIO_Speed=GPIO_Speed_10MHz;//输出速度
GPIO_Init(GPIOB, &gpiojiegouti);//设置端口
SysTick_Config(SystemCoreClock/1000);//设置滴答定时器1毫秒间隔
while(1);
} |