历史上的今天
返回首页

历史上的今天

今天是:2025年03月16日(星期日)

正在发生

2020年03月16日 | 学习通用IO与外部中断

2020-03-16 来源:eefocus

MSP430f5438有12组通用IO分别是从1到J,能作为外部中断引脚的只有P1和P2两个引脚;对于控制寄存器有下列几种:


PxIN是输入寄存器,


PxOUT是输出寄存器


PxDIR是输入与输出方向配置寄存器


PxREn 是下拉下拉寄存器


PxDS 是驱动增强与减弱寄存器


PxSEL是功能选择寄存器


PxIES是中断触发方式寄存器


PxIE是中断允许寄存器


PxIFG是中断标志寄存器


中断配置如下:


/**********************************************************************/

//外部中断优先级没有软件配置。端口0最高,端口7最低

/**********************************************************************/

void out_interrupt()

{

   PortDIR  |=BIT0;  //设置端口方向

   PortIFG  &=0xfe; //中断标志

   PortIES  |=BIT0;  //中断触发方式

   PortIE   |=BIT0;  //中断开发

   PortREN |=BIT0;

   P2OUT |=BIT0;

}

//中断服务程序如下:

#include "msp430f5438.h"

#include "init.h"

void main( void )

{

  clk_init();

  out_interrupt();

  P5DIR |=BIT4;

  _EINT();//编译器内部开中断

  while(1);

}

#pragma vector=PORT2_VECTOR

__interrupt void Port2(void)

{

  __delay_cycles(1000);

  if((P2IN&0xff)!=0xff)

  {

        P5OUT ^=BIT4;   

  }

  PortIFG  &= ~BIT0; //中断标志

}

推荐阅读

史海拾趣

DIOTECH公司的发展小趣事

DIOTECH公司成立于电子行业的黄金时期,凭借其创始人在半导体领域的深厚造诣,公司迅速在高性能处理器领域取得了技术突破。通过不断优化产品设计和生产工艺,DIOTECH的产品在性能和稳定性上均达到了行业领先水平,逐渐赢得了市场的认可。随着智能手机的普及,DIOTECH的高性能处理器成为了市场上的抢手货,公司的营收和市场份额均实现了快速增长。

艾谱科(Epticore)公司的发展小趣事

艾谱科公司的创立源于其创始人对电子行业未来发展的独到见解。在21世纪初,随着数字化和智能化技术的飞速发展,创始人意识到电子行业即将迎来一场技术革命。他带领团队深入研究新兴技术,并成功开发出一款具有划时代意义的电子元件——高效能芯片。这款芯片凭借其出色的性能和稳定性,迅速获得了市场的认可,为艾谱科公司的发展奠定了坚实的基础。

EOS POWER INDIA Pvt公司的发展小趣事

随着市场的不断发展和客户需求的变化,EOS意识到只有不断创新才能保持竞争力。因此,公司加大了对研发的投入,引进了一批高素质的研发人才。经过数年的努力,EOS成功研发出了一系列高性能、高可靠性的电源产品,如交钥匙电源解决方案、定制电源等。这些产品不仅满足了客户的多样化需求,还帮助EOS在市场上获得了更多的份额。

Dexter Research Center Inc公司的发展小趣事

作为一家有社会责任感的企业,Dexter始终关注环境保护和可持续发展问题。公司积极采用环保材料和工艺,减少生产过程中的废弃物和污染物排放。同时,Dexter还积极参与社会公益事业,为当地社区和弱势群体提供帮助和支持。这些举措不仅有助于保护环境、推动社会进步,还提升了Dexter的企业形象和品牌价值。

倍思特(BEST)公司的发展小趣事

作为一家有社会责任感的企业,Dexter始终关注环境保护和可持续发展问题。公司积极采用环保材料和工艺,减少生产过程中的废弃物和污染物排放。同时,Dexter还积极参与社会公益事业,为当地社区和弱势群体提供帮助和支持。这些举措不仅有助于保护环境、推动社会进步,还提升了Dexter的企业形象和品牌价值。

Crameda Intersys公司的发展小趣事

随着公司业务的不断发展,Crameda Intersys公司开始寻求与行业内其他企业的战略合作。公司通过与多家知名企业建立紧密的合作关系,共同研发和推广新技术产品,成功将业务扩展到全球市场。这些战略合作不仅拓宽了公司的市场渠道,也提升了公司的品牌影响力和市场竞争力。同时,通过与合作伙伴的深入交流和学习,公司不断吸收新的技术和理念,为自身的创新和发展注入了新的活力。

问答坊 | AI 解惑

对于工业环境干扰的一点想法

在很多时候都要谈及的抗干扰,干扰来自何方啊!我个人认为30%被干扰了的设备都是电源被干扰造成的.我以前最早做过一个抗干扰的小东西就是给绞肉机(听起来很恐怖,是做火腿肠的)做的换向器,开始我说你就弄仨按钮完事了,结果对方告诉我,原来工大的给做了 ...…

查看全部问答>

免费学习matlab---6.16大结局!

对了减少大家的顾虑,积极的参与,而且对于新手来说可能芯币缺乏等原因,对于下载这次matlab的内容,网友只要留下回复,我都会第一时间给你们加芯币,算是免费下载学习的机会吧!!!不过由于一天只能够发2000芯币,希望大家珍惜机会,先报到,先享 ...…

查看全部问答>

自动绕线工具Specctra指南

很好的呀@和大家一起分享下…

查看全部问答>

推荐几本学习CPLD&FPGA的书

最近一直在学习VHDL ,强烈推荐以下书 1.VHDL硬件描述语言与数字逻辑电路设计(修订版)  侯伯亨 顾新编著 西安电子科技大学出版社 简介:系统地介绍了VHDL 2.现代电子技术 --VHDL与数字系统设计  杨刚 龙海燕编著 电子工 ...…

查看全部问答>

TC下如何生成lib文件

各位高手,我想在TC下,写一个LIB文件,但不知如何下手,LIB文件的格式是什么样的?还望各位指点迷津,如有例子最好,在此先行谢过。…

查看全部问答>

用pb生成wince时,报如下错,请高手指点!

edimechn dlgmgr dlgmnem gwectrl btnctl stcctl edctl msgbox msgbox_hpc dlgmgr_hpc menu_hpc EditControlOs startup oomui oom startui cmbctl cdlctl imgctl lbctl scbctl sbcmnview nclientview gcacheview btnctlview stcctlview cmbctlview ...…

查看全部问答>

如何解决VHDL中参数化赋值:赋全0、全1、全z

VHDL中可将参数定义在generic语句中,一般是将位宽定义在此,其他参数可定义在package中。这里不做讨论。VHDL中一个很好的语句others,对于参数化或者大位宽赋值全0、全1、全X、全Z很方便(这里X、Z为大写),以如下的方式:     &n ...…

查看全部问答>

请问,cpld中也能设定rom嘛?

请问,cpld中也能设定rom嘛?    看过 fpga的可以,不知道cpld的怎么样啊  …

查看全部问答>

STM32 用AD 实现TFT彩屏的触摸

上次看到论坛上说STM32有一种可以用AD采集实现触摸,可是找不到资料,请问有谁知道的,共享一下。…

查看全部问答>

verilog的语言系统学习(序)

大家好,这篇是我正式发表的第一篇博客,作为微时代的人们,大家现在已经没有时间来看冗长的博客文章了。可是要说到学习,那必须有个积累的过程。那么静下心来阅读有内容的文章(博客或者是书籍)依然是系统学习一门知识的不二之选。 现在大家在某 ...…

查看全部问答>