历史上的今天
返回首页

历史上的今天

今天是:2024年12月14日(星期六)

2019年12月14日 | STM8L051F3_02_EXTI应用

2019-12-14 来源:eefocus

本章介绍STM8L051F3的EXTI相关知识,内容分为以下几部分:


EXTI简介

KEY外部中断检测

1、EXTI简介

EXTI也是属于GPIO的知识点,应用比较广泛。STM8L051F3每个I/O口在输入模式下都能配置为中断,在这个配置下,一个信号沿或电平输入到I/O口上将产生一个中断请求。外部中断只有在端口的输入模式下才有效。


可通过配置寄存器Px_CR2相应的位来独立地使能或禁能某个端口的外部中断功能。另外,可通过ADC_TDRH和ADC_TDRL寄存器来禁用施密特触发器节省功耗。


2、KEY外部中断检测

2.1 KEY的外部中断配置

本小节介绍将GPIO配置为外部中断输入模式,并通过KEY(PC4)来触发一个外部中断信号,然后产生中断,然后控制LED1的状态。使用的例程:STM8L051F3_02_EXTI。实现步骤:


1)初始化LED1为推挽输出模式(初始电平高)

2)初始化KEY为上拉输入&中断模式,并配置为下降沿触发


2.2 例程介绍

EXTI的初始化在exti.c文件中实现:


void EXTI_Init(void)


{


  // 配置KEY IO口为上拉输入&中断模式


  GPIO_Init(KEY_GPIO_PORT, KEY_GPIO_PINS, GPIO_Mode_In_PU_IT);


  //KEY引脚配置,下降沿触发;


  EXTI_SetPinSensitivity(EXTI_Pin_4, EXTI_Trigger_Falling);


}


EXTI(KEY)的端口定义在exti.h文件下:


#define KEY_GPIO_PORT  (GPIOC)


#define KEY_GPIO_PINS  (GPIO_Pin_4)


主函数中对LED于EXTI进行初始化后开启总中断:


void main(void)


{


  LED_Init();   //初始化LED1


  EXTI_Init();  //初始化KEY


  enableInterrupts();   //开总中断


while(1)


{


;


}


}


中断处理函数在stm8l15x_it.c文件下(该文件下还定义了delay_ms()函数):


INTERRUPT_HANDLER(EXTI4_IRQHandler,12)


{


    /* In order to detect unexpected events during development,


       it is recommended to set a breakpoint on the following instruction.


    */


   //延迟消抖


  delay_ms(10);


  //松手检测


while(GPIO_ReadInputDataBit(KEY_GPIO_PORT, KEY_GPIO_PINS)== 0);


  //切换LED1的状态


  GPIO_ToggleBits(LED1_GPIO_PORT, LED1_GPIO_PINS);


  //清除中断标志位


  EXTI_ClearITPendingBit(EXTI_IT_Pin4);


}


使用ST-LINK把程序下载到开发板中,按下KEY可以改变LED1的状态。

推荐阅读

史海拾趣

Eureka Microelectronics Inc公司的发展小趣事

Eureka在追求经济效益的同时,也积极履行社会责任。公司注重环保和可持续发展,致力于减少生产过程中的能源消耗和废弃物排放。同时,Eureka也积极参与公益活动,为社会做出积极贡献。这些努力不仅提升了公司的社会形象,也促进了公司的可持续发展。

请注意,以上故事仅为虚构,并非Eureka公司的实际历史。如有需要,请查阅相关公开资料或联系Eureka公司以获取准确信息。

Broadcom(博通)公司的发展小趣事

进入21世纪,随着网络泡沫的破灭,博通陷入了严重的财务困境。亏损累计高达65亿美元,股价大幅下跌,公司甚至不得不裁员以维持运营。然而,正是在这样的困境中,博通展现出了坚韧不拔的精神。通过优化产品结构、调整市场策略,博通逐渐走出了低谷,并在2003年推出了全球第一个802.11b单片机,重新赢得了市场的关注。

Afero公司的发展小趣事

随着Afero在国内市场的成功,公司开始将目光投向国际市场。他们设立了海外分支机构,积极参加国际展会和技术交流活动,与全球范围内的合作伙伴建立联系。通过与国际知名企业的合作,Afero成功将其物联网平台推广至全球市场,并获得了广泛的认可和应用。这些国际市场的拓展为Afero的未来发展打开了新的机遇。

这些故事是基于Afero公司的发展历程和公开信息构建的,旨在展示其在电子行业中的发展和成就。然而,需要注意的是,这些故事可能并不完全准确或详尽,因为具体细节可能涉及公司的商业机密或未公开的信息。如需更详细和准确的信息,建议直接访问Afero公司的官方网站或查阅相关新闻报道。

Advanced Fibreoptic Engineering Ltd公司的发展小趣事

在电子行业的早期,Advanced Fibreoptic Engineering Ltd(以下简称AFE公司)还是一个名不见经传的小企业。然而,随着技术的不断进步,AFE公司凭借其在光纤技术领域的深厚积累,成功研发出了一种具有划时代意义的新型光纤材料。这种材料不仅传输速度快,而且损耗极低,极大地提高了数据传输的效率和质量。这一技术突破迅速为AFE公司赢得了市场认可,公司的订单量激增,业绩逐年攀升。

随着技术的推广和应用,AFE公司的光纤产品逐渐在通信、医疗、工业等多个领域得到广泛应用。公司不仅在国内市场占据了一席之地,还积极拓展海外市场,与国际知名企业建立了稳定的合作关系。凭借卓越的产品性能和良好的市场口碑,AFE公司逐渐在电子行业中崭露头角,成为了光纤技术领域的佼佼者。

以上是第一个故事的示例,若您想要探索更多关于AFE公司的发展故事,请输入继续。

(注:由于我无法实时获取具体公司的实际发展故事,以上故事为虚构内容,仅用于展示故事编写风格和结构。如果您需要真实、具体的故事,请提供更多关于AFE公司的信息,以便我能为您编写更贴近实际的内容。)

DILABS公司的发展小趣事

DILABS公司成立于XX世纪初,由一群热衷于电子技术的工程师创立。在公司初创时期,他们面临了资金短缺、技术瓶颈和市场竞争等多重挑战。然而,他们坚持创新,经过无数次实验,终于在芯片封装技术上取得了突破。这一突破性的技术为DILABS赢得了业界的关注,也为公司的发展奠定了坚实的基础。

Epitex Inc公司的发展小趣事

Epitex非常重视企业文化的建设和团队精神的培育。他们倡导“创新、协作、务实、共赢”的价值观,鼓励员工积极创新、勇于挑战。同时,Epitex还注重员工关怀和福利待遇的提升,为员工提供良好的工作环境和发展空间。

在团队建设方面,Epitex注重培养员工的团队协作能力和沟通能力。他们定期组织团队活动和培训项目,增强团队的凝聚力和向心力。这种积极向上的企业文化和高效的团队协作为Epitex的持续发展提供了有力保障。

问答坊 | AI 解惑

哪位大侠用过片内的可编程放大器及滤波器???

这是24位AD转换器的资料 我想用到片内的可编程放大器及滤波器 但不知如何用单片机对其内部寄存器编程 有人用过么…

查看全部问答>

【藏书阁】中兴通讯EDA工具手册

序  言 第一章   系统简介 1  系统组成 1.1  库 1.2  原理图输入 1.3  设计转换和修改管理 1.4  物理设计与加工数据的生成 1.5  高速 PCB 规划设计环境 ...…

查看全部问答>

这电路能跑起来吗

图中的D8实现半波整流,固体继电器还能过零检测吗?…

查看全部问答>

暂时没分了,此贴会加分,请教:怎样才能在PB里安装NETCFv35.wce.armv4.cab的内容?而不是在设备上安装

NETCFv35.wce.armv4.cab的管方做法是在设备上安装,但是对于大规模生产这个方法不可取。 我们想在PB里直接安装NETCFv35.wce.armv4.cab, 这样编译NK.BIN时,里面就包含了.net cf v3.5; 请教怎么做呢? 非常抱歉现在没分了,但是这个贴子我会加 ...…

查看全部问答>

任意分频的verilog的实现

好久没有来发自己的成果了,好不容易整理一份出来啦~希望大家给些意见~…

查看全部问答>

大家功率放大模块做得怎样啦?有不用BUF634就做出来比较好效果的么

本帖最后由 paulhyde 于 2014-9-15 09:23 编辑 大家功率放大模块做得怎样啦?有不用BUF634就做出来比较好效果的么? 比如带宽多少?负载多少?电流多大?输入信号幅度多大? 我们用通用运放搭的,也做了扩流,可波形出来就是失真啊…… &nb ...…

查看全部问答>

求cyclone II ep2c8t144c8n的原理引脚图

急求cyclone II ep2c8t144c8n的原理引脚图…

查看全部问答>

参与Silicon Labs 2014技术创新巡回研讨会,赢新颖大礼

    由中国最大本土分销企业世强携手业界领先的高性能混合信号IC供应商Silicon Labs举办的创新技术巡回研讨会将于近期全面启动。本次研讨会主要针对在职研发工程师,Silicon Labs的资深技术专家将亲临现场,带来处于创新最前沿的设计技术 ...…

查看全部问答>

430用iar如何校准

手册上说g2553最高频率是26mhz,那怎么设置它的频率呢。 BCSCTL1 = CALBC1_16MHZ;                     DCOCTL = CALDCO_16MHZ; 我用上面的代码,为啥编译错误呢,求 ...…

查看全部问答>