历史上的今天
返回首页

历史上的今天

今天是:2024年11月28日(星期四)

正在发生

2019年11月28日 | PIC33单片机中断服务函数写法(其他单片机同样适用)

2019-11-28 来源:eefocus

最近做项目接触到了PIC单片机,以前从来没有用过,感觉这就是一个介于51和32之间的单片机,但是在电源方面用得比较多,稳定性好。


我用的是PIC33EP32MC202系列的单片机,由于是第一次使用,也没买开发板,走了不少弯路,连写个中断都不太会,在网上找了个外部中断的历程,中断服务函数是这样写的。


void __attribute__((__interrupt__, auto_psv)) _INT1Interrupt(void) { ; }


然后我当时就找了很久,这个__INT1Interrupt(void) 中断服务函数的关键字到底是在哪里定义的,是不是在某个头文件或者汇编文件里定义的,找了许久没找到。网上也没有太多说的,最后让我在MPLAB X IDE的帮助文档里给找着了。


MPLAB X IDE -> 帮助 -> 帮助目录

  

 

就是这个Interrupt vector tables 这里有描述,他告诉我们这个表在XC16安装目录的docs的XC16MASTERINDEX文件中。然后找到他。我的目录是 C:Program Files (x86)Microchipxc16v1.41docs,打开XC16MasterIndex 

  

 

   

OK找到了,下次要换其他中断就直接换名字吧,虽然也有其他重新定义中断服务函数名字的方法,但是我觉得还是这样最直白最好用。

推荐阅读

史海拾趣

Fenfa Electronics Ltd公司的发展小趣事

作为一家有社会责任感的企业,Fenfa Electronics Ltd公司始终关注环境保护和社会公益。公司积极推动绿色生产和可持续发展战略,致力于减少生产过程中的能耗和排放。同时,Fenfa还积极参与各种社会公益活动,为当地社区和弱势群体提供帮助和支持。这些举措不仅提升了公司的社会形象,也为公司的可持续发展注入了新的动力。

ARRA Inc公司的发展小趣事

Fenfa Electronics Ltd公司自创立之初,就深知技术创新的重要性。在公司成立初期,面对市场上激烈的竞争,Fenfa团队决定投入大量资源于研发领域。经过数年的不懈努力,公司成功研发出一款具有革命性的电子产品,该产品以其高效能、低能耗和出色的用户体验迅速在市场上崭露头角。这一技术创新的突破,为Fenfa Electronics Ltd公司赢得了市场的认可,也为公司后续的发展奠定了坚实的基础。

振华新云(CEC)公司的发展小趣事

背景:在快速发展的同时,振华新云注重法治建设和企业文化建设,努力营造良好的经营环境。

内容:公司严格按照法治央企的各项建设要求,积极推进企业法治文化建设。同时,注重加强企业文化建设,弘扬“自力更生、艰苦奋斗、大力协同、无私奉献”的精神。通过开展各种文化活动和培训等方式,提高员工的文化素养和综合素质。

成果:法治建设和企业文化建设的不断推进,为公司的健康稳定发展提供了有力保障。同时,也增强了公司的凝聚力和向心力,激发了员工的积极性和创造力。

请注意,以上故事仅为概述,具体细节和内容需要根据实际情况进行补充和完善。

Coherent Inc公司的发展小趣事

Coherent Inc.在激光技术领域取得了多项技术突破,如固态激光器、半导体激光器、气体激光器、飞秒激光器等。这些技术的突破不仅提升了公司的产品性能和质量,也使其在行业中处于领先地位。公司的产品广泛应用于科学研究、工业制造、医疗诊断和治疗、通信等领域,为这些领域的发展做出了重要贡献。

Alliance Memory公司的发展小趣事

尽管电子行业竞争激烈,市场变化莫测,但Coherent Inc.始终保持着坚定的前行步伐。公司不断适应市场变化,调整战略方向,积极应对各种挑战。同时,公司也注重与合作伙伴的紧密合作,共同推动激光技术的创新和应用。这种坚定前行的态度,使得Coherent Inc.在电子行业中始终保持着领先的地位。

这五个故事只是Coherent Inc.发展历程中的一部分,但它们足以展示公司在电子行业中的崛起和发展。通过不断的探索、创新、收购与整合,以及坚定的前行态度,Coherent Inc.已经成为了激光技术领域的佼佼者,为电子行业的发展做出了重要贡献。

BH Electronics公司的发展小趣事

BH Electronics的创立源于创始人李明对电子技术的深厚兴趣和敏锐洞察。在20世纪90年代初,电子市场刚刚起步,李明凭借对市场的精准判断,决定投身于这一新兴行业。他带领一支小团队,在简陋的办公室中开始了艰苦的创业历程。他们昼夜兼程,研发出了一款具有竞争力的电子元件,成功打开了市场的大门。虽然初期资金匮乏,市场认可度低,但李明和他的团队凭借坚韧不拔的精神,逐步在市场中站稳了脚跟。

问答坊 | AI 解惑

电子血压计的气泵气阀电路部分

本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 请问有没有人了解这方面的信息,关于直流微型气泵如何选型,驱动电路等等,欢迎赐教!~ 本人刚来此地,尚不熟悉,希望大家多多帮助,谢谢!~ …

查看全部问答>

算术运算类指令

不带进位位的加法指令 ADD A,#DATA ;例:ADD A,#10H ADD A,direct ;例:ADD A,10H ADD A,Rn ;例:ADD A,R7 ADD A,@Ri ;例:ADD A,@R0 用途:将A中的值与其后面的值相加,最终结果否是回到A中。 例:MOV A,#30H ADD A,#10H 则执行完 ...…

查看全部问答>

TMS320x280x DSP 引导ROM

TMS320x280x DSP 引导ROM…

查看全部问答>

SBC_2410板子怎样更改调试口

三星的SBC_2410,我想不用COM1做调试串口,而用COM2做调试串口,应该怎么改呢? 只要进入wince后不再有调试信息从COM1输出就行,在BIOS时怎么没有关系 谢谢各位前辈哦,最好答详细点哦,因为我是初学者,谢谢,谢谢………

查看全部问答>

YLP2440核心板内存能扩到256M吗

YLP2440核心板内存能扩到256M吗. YLP2440核心板带有64M RAM, 由于项目需要扩到256M,请问这个好能实现吗,是不是仅添加两根地址线就可以了? 2440的BANK为128M,这样需要2个BANK,硬件上需要那些改动?…

查看全部问答>

请教老师们:自已写的winCE驱动程序被加载后,马上又被卸载了?

我在Platform   Builder下编写了一个很简单的LED驱动程序,就包含了DllMain,LED_Init,LED_Open,LED_DeInit,LED_close,LED_Powerup,LED_Powerdown等等函数的操作。然后在release目录下的Platform.reg的\\drivers\\builtIn当中添加了该驱动 ...…

查看全部问答>

在at91rm9200上使用u-boot-1.1.4加载linux-2.6.17问题

我是新手请请教      在at91rm9200上使用u-boot-1.1.4加载linux-2.6.17问题 现在的问题: 1:u-boot不能自动加载内核,必须在u-boot的命令提示符下自己输入装载命令bootm 10080000         & ...…

查看全部问答>

求助!!EVC对话框程序退出后桌面显示不正常

在网上找到一个隐藏任务栏的代码: HWND hTaskBarWnd=::FindWindow(_T(\"HHTaskBar\"),NULL);              if   (hTaskBarWnd)           &nb ...…

查看全部问答>

学习LINUX需要哪些基础?

C语言,是最重要的部分,如果在学习QT等等 还要有C++的基础。 操作系统原理,了解操作系统原理学习起来就会更快。 如果学习驱动那么需要有原来单片机或者ARM的基础更好 你可以先从熟悉系统开始,在写一些应用程序编译运行,在逐步移 ...…

查看全部问答>

【MSP430共享】基于全球移动通信系统网络的远程数据监控系统的设计

介绍了一种基于全球移动通信系统 ( G S M )网络的远程数据监控系统。硬件部分包括 T C 3 5 模块、单片机 M S P 4 3 0 F 1 4 7 、电平转换电路、传感器和电源,系统采用单片机控制 T C 3 5 模块,在软件设计方面,通过把与短消息服务有关的 A T ...…

查看全部问答>