历史上的今天
今天是: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找到了,下次要换其他中断就直接换名字吧,虽然也有其他重新定义中断服务函数名字的方法,但是我觉得还是这样最直白最好用。
上一篇:PIC开发工具详细说明
史海拾趣
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 请问有没有人了解这方面的信息,关于直流微型气泵如何选型,驱动电路等等,欢迎赐教!~ 本人刚来此地,尚不熟悉,希望大家多多帮助,谢谢!~ … 查看全部问答> |
|
三星的SBC_2410,我想不用COM1做调试串口,而用COM2做调试串口,应该怎么改呢? 只要进入wince后不再有调试信息从COM1输出就行,在BIOS时怎么没有关系 谢谢各位前辈哦,最好答详细点哦,因为我是初学者,谢谢,谢谢……… 查看全部问答> |
|
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 & ...… 查看全部问答> |
|
在网上找到一个隐藏任务栏的代码: HWND hTaskBarWnd=::FindWindow(_T(\"HHTaskBar\"),NULL); if (hTaskBarWnd) &nb ...… 查看全部问答> |
|
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 ...… 查看全部问答> |




