led.c

#include "led.h"

void LED_Config(void)
{
GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStruct);
} void LED_Toggle(void)
{
GPIOB->ODR ^= GPIO_Pin_0;
}

led.h

#ifndef __LED_H
#define __LED_H #include "stm32f10x.h" void LED_Config(void);
void LED_Toggle(void); #endif

exti.c

#include "exti.h"
#include "led.h" static void NVIC_Config(void)
{
NVIC_InitTypeDef NVIC_InitStruct; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); NVIC_InitStruct.NVIC_IRQChannel=EXTI0_IRQn;
NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=1;
NVIC_InitStruct.NVIC_IRQChannelSubPriority=1;
NVIC_Init(&NVIC_InitStruct);
} void EXTI_Config(void)
{
EXTI_InitTypeDef EXTI_InitStruct; NVIC_Config(); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); EXTI_InitStruct.EXTI_Line=EXTI_Line0;
EXTI_InitStruct.EXTI_LineCmd=ENABLE;
EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_Init(&EXTI_InitStruct);
} void EXTI0_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line0)) LED_Toggle();
EXTI_ClearITPendingBit(EXTI_Line0);
}

exti.h

#ifndef __EXTI_H
#define __EXTI_H #include "stm32f10x.h" void EXTI_Config(void); #endif

main.c

#include "stm32f10x.h"
#include "led.h"
#include "exti.h" int main(void)
{
LED_Config();
EXTI_Config(); while(1)
{ }
}

最新文章

  1. [LeetCode] Product of Array Except Self 除本身之外的数组之积
  2. 轻松解决MYSQL数据库连接过多的错误
  3. mysql 5.7.15发布
  4. SaltStack 入门(赵班长)
  5. WordPress小工具开发教程(网站公告)
  6. 关于C# XML序列化的一个BUG的修改
  7. motan源码分析五:cluster相关
  8. Ubuntu 下启动/停止/重启mysql服务
  9. 用C++写一个简单的订阅者
  10. 站在OC的基础上快速理解Swift的类与结构体
  11. JMX简单入门
  12. ANDROID基础ACTIVITY篇之Activity的生命周期(一)
  13. Delphi Web开发连载 --ThinkDelphi (序)
  14. FT 软件项目管理
  15. tar.gz压缩,查看,解压
  16. Codeforces Gym 101291C【优先队列】
  17. qhfl-5 redis 简单操作
  18. Arduino和C51开发DHT11温湿度传感器
  19. kafka consumer demo
  20. 浅谈vuex

热门文章

  1. [题解] Codeforces 438 E The Child and Binary Tree DP,多项式,生成函数
  2. P2680 [NOIP2015 提高组] 运输计划 (树上差分-边差分)
  3. POJ3662 [USACO08JAN]Telephone Lines (二分答案/分层图求最短路)
  4. 14.MongoDB系列之配置分片
  5. Linux基础_3_文件/文件夹权限管理
  6. C++ set集合容器用法解析
  7. 亚马逊云 RDB数据故障转移(多可用区)
  8. SQL--临时表的使用
  9. Nacos基本学习
  10. Redis管理及监控工具推荐