历史上的今天
返回首页

历史上的今天

今天是:2025年07月21日(星期一)

正在发生

2018年07月21日 | STM32通过按键中断点亮led灯

2018-07-21 来源:eefocus

首先是led头文件,其中调用的一些库是原子的我只是借鉴一下 侵删


#ifndef __LED_H

#define __LED_H  

#include "sys.h"

 

#define LED PCout(13) // PA8

 

 

void LED1_Init(void);//³õʼ»¯

 

   

#endif

led的c文件


#include "led.h"

 

 

//初始化PB5和PE5为输出口.并使能这两个口的时钟    

//LED IO初始化

void LED1_Init(void)

{

 

 GPIO_InitTypeDef  GPIO_InitStructure;

 

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能PC端口时钟

 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //LED0-->PA.8 端口配置

 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出

 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz

 GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOA.8

 

 GPIO_Init(GPIOC, &GPIO_InitStructure);   //推挽输出 ,IO口速度为50MHz

}

 

之后是中断的头文件


#ifndef _EXTI_H_

#define _EXTI_H_

#include "sys.h"

void EXTI_KEY_Init(void);//³õʼ»¯

           

#endif

中断的c文件


#include "EXTI.h"

 

void EXTI_KEY_Init(void)

{

//配置PB11为下降沿触发

GPIO_InitTypeDef GPIO_InitStructure;

EXTI_InitTypeDef EXTI_InitStructure;

NVIC_InitTypeDef NVIC_InitStructure;

//配置管脚时钟和复用时钟

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);

//配置GPIO口为上拉输入

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;  

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOC, &GPIO_InitStructure);

//配置GPIO为外部中断模式

GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource11);

//配置EXTI中断触发模式

 

EXTI_InitStructure.EXTI_Line = EXTI_Line11;

EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;

EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;

EXTI_InitStructure.EXTI_LineCmd = ENABLE;

EXTI_Init(&EXTI_InitStructure);

 

//配置EXTI中断优先等级

NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;

NVIC_Init(&NVIC_InitStructure);

 

 

}





主函数


#include "sys.h"

#include "EXTI.h"

#include "led.h"

#include "KEY.h"

#include "delay.h"

u8 t=0;  

int main(void)

{

delay_init();

 

NVIC_Configuration();

LED1_Init();

EXTI_KEY_Init();

 

while(1)

LED = 1;

}

}

效果图



推荐阅读

史海拾趣

Cavium Networks公司的发展小趣事

在电子行业的快速发展中,Cavium Networks 公司凭借其创新的技术和敏锐的市场洞察力,成功推出了基于 MIPS64 的单核和双核 OCTEON 处理器系列。这款处理器为网络、无线、控制和存储应用提供了高度集成化和低成本的64位计算解决方案,成为当时业界领先的面向下一代智能网络的新型处理器。OCTEON 处理器的诞生,标志着 Cavium Networks 在网络通信领域的技术实力得到了进一步提升,也为其后续的发展奠定了坚实的基础。

巴丁微公司的发展小趣事

近年来,巴丁微在电子行业的发展取得了显著成就。在近千家参评企业中,巴丁微脱颖而出,成功入选2023粤港澳大湾区科创榜专精特新标杆企业TOP100榜单。这一荣誉的获得,不仅是对巴丁微技术实力和产品质量的认可,也反映了公司在行业内的领先地位和影响力。

这一荣誉的取得,为巴丁微未来的发展奠定了坚实的基础。公司将继续秉承创新引领、协同发展的理念,不断提升技术水平和产品质量,为电子行业的发展贡献更多力量。

Custom Connector Corporation公司的发展小趣事

Custom Connector Corporation成立于1969年,当时电子连接器行业正处于快速发展阶段。创始人看到这一市场潜力,决定投身于这一领域。在创业初期,CCC面临着资金紧张、技术瓶颈和市场认可度低等问题。然而,创始人凭借对技术的执着追求和对市场的敏锐洞察,带领团队不断研发新产品,改进生产工艺,逐渐在市场中树立了自己的品牌形象。

ELEKTRO-PLAST NASIELSK公司的发展小趣事

ELEKTRO-PLAST NASIELSK公司成立于上世纪九十年代,当时正值电子行业蓬勃发展的时期。创始人敏锐地察觉到塑料材料在电子元器件制造中的潜力,决定专注于研发和生产塑料外壳的电子元器件。然而,初创时期面临资金紧张、技术瓶颈和市场接受度低的挑战。创始人通过不懈努力,成功研发出具有竞争力的产品,并通过参加行业展会和建立合作伙伴关系,逐渐打开了市场。

Gemmy Electronics Co Ltd公司的发展小趣事
检查触发机制和控制电路中的元件是否损坏或接触不良。
CTS公司的发展小趣事

面对不断变化的市场需求和行业竞争,CTS公司始终保持创新精神。公司加大了在研发领域的投入,致力于开发具有更高性能、更可靠性的产品。同时,CTS还关注新兴技术的发展趋势,积极探索新的应用领域和市场机会。

这五个故事展示了CTS公司在电子行业中的发展历程和取得的成就。从创立初期的艰难起步到技术突破、业务扩展、收购整合、全球化布局以及持续创新,CTS始终保持着积极进取的精神和不断创新的态度,为电子行业的发展做出了重要贡献。

问答坊 | AI 解惑

有关PCB厂家打板的问题

现在很多工厂的工程师画了PCB后都需要打板,但是如果打板的厂家忙,是必要10-20天才能打个样板,这样太费事,特别是在北方,但如果自己买台刻板机,又好像有点贵,难啊…

查看全部问答>

模拟串口的问题

接收的脚是LPC2136 ARM的2脚,此脚需要模拟接收。波特率9600,时钟:14.745600M。 我用定时器0定了两个值:第一:T0MR1=14745600/9600,这个用于定时接收数据位.第二:T0MR0=14745600/(9600*2) 这个用于起始位的定时检测。2脚设置为捕获输入, ...…

查看全部问答>

如何从串口输入中文?急

访问服务器,用telnet方式,在vi编辑器下能进行中文输入,但是用串口连接访问时在vi编辑器下,输入中文时变成一个一个的点:如:“........”串口输出中文没有问题,请教能否让串口输入中文?…

查看全部问答>

请教

请问海信HDP3406M数字高清电视高压包ABL脚打火是何故障?…

查看全部问答>

这里人气不足啊。。有谁推荐几个好点的无线论坛?

RT,这里人好少。。和社区里面其他的分社区不能比啊。。。 有没有什么人气足的无线论坛可以推荐推荐??…

查看全部问答>

请问lm3s8962每个管脚宽度是多少mil

请问lm3s8962每个管脚宽度是多少mil,…

查看全部问答>

cmos摄像头选择CCIR601和CCIR656两种模式有啥区别

如题:知道一种是串行一种是并行数据传输           除此之外,其他的信号。如HREF+VSYNC+PCLK和数据线有啥区别              因为 ...…

查看全部问答>