K1 K2作为中断源控制红色LED灯,实现任意键按一下LED灯亮或者灭
#include "stm32f10x.h" // 相当于51单片机中的 #include <reg51.h>
#include "stm32f10x_gpio.h"
#include "stm32f10x_exti.h"
#include "misc.h"
/*
*K1 K2作为中断源控制红色LED灯,实现任意键按一下LED灯亮或者灭
*/
/*GPIO、NVIC、EXTI配置*/
int peizhi()
{ /*GPIO配置*/
// K1配置 PA0
GPIO_InitTypeDef a;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
a.GPIO_Speed=GPIO_Speed_50MHz;
a.GPIO_Pin=GPIO_Pin_5;
a.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOB,&a); /*NVIC嵌套向量中断控制器*/
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitTypeDef b;
b.NVIC_IRQChannel = EXTI0_IRQn;//EXTI0_IRQn外部中断线0中断
b.NVIC_IRQChannelPreemptionPriority = ;//0 1 2 3 4
b.NVIC_IRQChannelSubPriority = ;//0 1 2 3 4
b.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&b); /*外部中断EXTI配置*/
EXTI_InitTypeDef c;
c.EXTI_Line=EXTI_Line0;//外部路线0 和13
c.EXTI_Mode=EXTI_Mode_Interrupt;//中断模式
c.EXTI_Trigger=EXTI_Trigger_Rising;//上升沿为中断请求
c.EXTI_LineCmd=ENABLE;//使能
EXTI_Init(&c);//指向结构体EXTI_InitTypeDef的指针a GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource0);//选择GPIO管脚用作外部中断线路 //K2配置 PC13
//以下K2的配置基于K1配置的,就是说K2很多配置和K1相同的,只是把不同的配置写下来 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO,ENABLE);
GPIO_Init(GPIOB,&a); b.NVIC_IRQChannel = EXTI15_10_IRQn;
NVIC_Init(&b); c.EXTI_Line = EXTI_Line13;
EXTI_Init(&c); GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource13); } /*主函数*/
int main(void)
{
peizhi(); } /*中断服务函数*/
void EXTI0_IRQHandler(void)
{
//确保是否产生EXTI line中断
if(EXTI_GetITStatus(EXTI_Line0)!=RESET) // 检查指定的EXTI线路触发请求发生与否
{
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)==)//
{
GPIO_SetBits(GPIOB,GPIO_Pin_5);
}
else
{
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
}
EXTI_ClearITPendingBit(EXTI_Line0);
}
} void EXTI15_10_IRQHandler(void)
{
//确保是否产生EXTI line中断
if(EXTI_GetITStatus(EXTI_Line13)!=RESET) // 检查指定的EXTI线路触发请求发生与否
{
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)==)//
{
GPIO_SetBits(GPIOB,GPIO_Pin_5);
}
else
{
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
}
EXTI_ClearITPendingBit(EXTI_Line13);
}
}
K1 K2作为中断源控制红色LED灯,实现任意键按一下LED灯亮或者灭的更多相关文章
- linux中断源码分析 - 中断发生(三)
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 回顾 上篇文章linux中断源码分析 - 初始化(二)已经描述了中断描述符表和中断描述符数组的初始化,由于在初始 ...
- 【LeetCode】四数之和【排序,固定k1,k2,二分寻找k3和k4】
给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满 ...
- led指示灯电路图大全(八款led指示灯电路设计原理图详解)
led指示灯电路图大全(八款led指示灯电路设计原理图详解) led指示灯电路图(一) 图1所示电路中只有两个元件,R选用1/6--1/8W碳膜电阻或金属膜电阻,阻值在1--300K之间. Ne为氖泡 ...
- LED Decorative Light Supplier - Decorative Use Of LED Light Strips
Led strip refers to the led assembly in the ribbon of the FPC (flexible circuit board) or PCB hard b ...
- linux中断源码分析 - 软中断(四)
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 在上一篇文章中,我们看到中断实际分为了两个部分,俗称就是一部分是硬中断,一部分是软中断.软中断是专门用于处理中断 ...
- linux中断源码分析 - 初始化(二)
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 本篇文章主要讲述源码中是如何对中断进行一系列的初始化的. 回顾 在上一篇概述中,介绍了几个对于中断来说非常重要的 ...
- linux中断源码分析 - 概述(一)
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 关于中断和异常 一般在书中都会把中断和异常一起说明,因为它们具有相同的特点,同时也有不同的地方.在CPU里,中断 ...
- Trap (陷入/中断) 源码解析
用户空间和内核空间之间的切换通常称为trap trap的三种形式 系统调用引发 异常发生 设备中断 (时间中断.IO中断.网络中断等) supervise mode的权限 用户态和内核态之间的到底有什 ...
- 斐讯K1 K2 开启Telnet
官方V21.4.5.5前的ROM,直接打开下边这个链接就直接开telnet了,然后就可以随便搞了 http://192.168.2.1/goform/gra_NTPSyncWithLocal?text ...
随机推荐
- 阿里云人脸识别测试接口出错 返回Body:{ "errno": 3002, "err_msg": "ILLEGAL_PARAMETERS", "request_id": "672cba83-cf93-4ef4-9ce5-d87e51601632" }
错误信息如下 返回Body:{ "errno": 3002, "err_msg": "ILLEGAL_PARAMETERS", ...... ...
- Could not create SSL/TLS secure channel.
解决办法: ServicePointManager.Expect100Continue = true;ServicePointManager.SecurityProtocol = SecurityPr ...
- android开发默认图标怎么换?
首先要在资源文件放入想换的图标图片拖到drawable-XX文件夹下, 然后打开AndroidManifest.xml这个配置清单文件找 到application标签里的这句android:icon= ...
- win10 64 使用 visual studio 2017 搭建汇编开发环境
转自http://blog.csdn.net/sinat_27382047/article/details/70339455 插件 vs2015的汇编语法高亮插件(安装就行)这玩意找了我很久= = h ...
- Not running in a hosted service or the Development Fabric
今天尝试在azure上发布网站后,无法正常访问 本地调试也提示: Not running in a hosted service or the Development Fabric 谷歌百度半天… 最 ...
- [转] AES,SHA1,DES,RSA,MD5区别
AES:更快,兼容设备,安全级别高: SHA1:公钥后处理回传 DES:本地数据,安全级别低 RSA:非对称加密,有公钥和私钥 MD5:防篡改 相关: 公开密钥加密(英语:public-key cry ...
- [转] React Hot Loader 3 beta 升级指南
前言 在用 react-hot-loader v1.3 的时候有些深层组件不会很完美的热更新(可能是我使用有问题).然后在 react-hot-loader 首页中看到 React Hot Loade ...
- bzoj 2832
题解: 首先有一个比较显然的事情是如果我们确定了买的次数这道题就可以简单的贪心了 但是答案和买的次数是什么关系呢.. 好像是可以三分的 所以应该是单峰的 这里用了模拟退火,而且是没有处理失败情况的模拟 ...
- Codeforces 380D Sereja and Cinema (看题解)
Sereja and Cinema 首先我们可以发现除了第一个人, 其他人都会坐在已入坐人的旁边. 难点在于计算方案数.. 我们可以从外往里把确定的人用组合数算上去,然后缩小范围. #include& ...
- 033 Url中特殊字符的处理
在url跳转页面的时候,参数值中的#不见了,一直没有处理,今天有空看了一下,后来发现后台的过滤器之类的都没有处理,就比较奇怪了,原来是特殊字符的问题. 一:Url中的特殊字符 1.说明 这里还是需要做 ...