• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

对于PIC单片机有预留的中断,能否自己增加中断源啊

906875672@qq.com 2018-02-11 浏览量:1338
对于x16中预留了中断向量,比如中断51,但是具体是该怎么设置呢,x16说明书中说是可以进行设置的,但是该怎么判断标志位呢???很困惑
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 中断源都是特定硬件关联的,不能自己添加。
    • 发布于 2018-02-22
    • 举报
    • 评论 2
    • 0
    • 0
bb36f2c58ccfd1cd 回复了 apleilx:好吧,是不行 回复
电子老工程师 回复了 :BUK9M12-60E型号 BUK9M12-60EX可订购的器件编号;同一颗料,名称不同https://www.nexperia.cn/products/mosfets/automotive-mosfets/BUK9M12-60E.html 回复

其他答案 数量:7
  • PIC16F87X的中断标志位
    INTF  外部触发中断标志位
    T0IF  TMR0溢出中断标志位
    RBIF  RB端口电平变化中断标志位
    TMR1IF  TMR1溢出中断标志位
    TMR2IF TMR2溢出中断标志位
    CCP1IF CCP1中断标志位
    CCP2IF CCP2中断标志位
    TXIF SCI同步发送中断标志位
    RCIF SCI同步接收中断标志位
    SSPIF  SSP中断标志位
    BCLIF SSP IIC总线冲突中断标志位
    PSPIF 并行端口中断标志位
    ADIF A/D转换中断标志位
    EEIF EEPROM中断标志位
    PIC874/877 中断源数量 14种
    PIC873/876 中断源数量 13种
    PIC870    中断源数量 10种
    PIC871    中断源数量 11种
    PIC872    中断源数量 10种
    • 发布于2018-02-22
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :没有找到 回复

  • 应该用不了的。说明书具体怎么说的?
    • 发布于2018-02-22
    • 举报
    • 评论 3
    • 0
    • 0
bb36f2c58ccfd1cd 回复了 蓝蓝的天 :在MPLAB® XC16 C 编译器用户指南中的要设置中断,必须将一个函数的地址放置在向量表中的一个相应地址处,并且该函数必 须保护它所使用的任何系统资源。它必须使用 RETFIE 处理器指令返回到前台任务。中 断函数可以使用 C 语言编写。将某个 C 函数指定为中断处理程序时,编译器会安排保 护编译器使用的所有系统资源,并使用适当的指令从函数返回。编译器可选择安排使用 中断函数的地址填充中断向量表。 要安排让编译器填充中断向量,使之指向中断函数,请按照向量表中指示的形式命名函 数( 第 14.4.2 节“中断向量表”)。例如,如果定义了以下函数,将会自动填充堆栈错 误向量: void __attribute__((interrupt(auto_psv))) _StackError(void); 请注意使用前导下划线。类似地,如果定义了以下函数,将会自动填充备用堆栈错误向 量: void __attribute__((interrupt(auto_psv)) _AltStackError(void); 同样,请注意使用前导下划线。 对于没有特定处理程序的所有中断向量,将会安装默认的中断处理程序。默认中断处理 程 序 由 链 接 器 提 供,它 只 会 简 单 地 复 位 器 件。应 用 程 序 也 可 以 通 过 声 明 名 为 _DefaultInterrupt 的中断函数来提供默认中断处理程序。每个表中的最后 9 个中断向量没有预定义的硬件函数。可以通过使用向量表中指示的名 称 ( 第 14.4.2 节 “中断向量表”)来填充这些中断的向量,或者也可以使用更适合于 应用程序的名称,而通过使用 interrupt 属性的 irq 或 altirq 参数仍然填充相应的 向量。例如,要指定一个函数应使用主中断向量 52,请使用以下语句: void __attribute__((interrupt(auto_psv, irq(52)))) MyIRQ(void); 类似地,要指定一个函数应使用备用中断向量 53,请使用以下语句: void __attribute__((interrupt(auto_psv, altirq(52)))) MyAltIRQ(void); irq/altirq编号可以为中断请求编号 45至 53之一。如果使用了 interrupt属性的 irq 参数,则编译器会创建外部符号名称 __Interruptn,其中的 n 是向量编号。因此, C 标 识符 _Interrupt45 至 _Interrupt53 是由编译器保留的。按相同的方式,如果使用了 interrupt 属性的 altirq 参数,则编译器会创建外部符号名称 __AltInterruptn, 其中的 n 是向量编号。因此, C 标识符 _AltInterrupt45 至 _AltInterrupt53 是由 编译器保留的。 回复
bb36f2c58ccfd1cd 回复了 蓝蓝的天 :在MPLAB® XC16 C 编译器用户指南中的要设置中断,必须将一个函数的地址放置在向量表中的一个相应地址处,并且该函数必 须保护它所使用的任何系统资源。它必须使用 RETFIE 处理器指令返回到前台任务。中 断函数可以使用 C 语言编写。将某个 C 函数指定为中断处理程序时,编译器会安排保 护编译器使用的所有系统资源,并使用适当的指令从函数返回。编译器可选择安排使用 中断函数的地址填充中断向量表。 要安排让编译器填充中断向量,使之指向中断函数,请按照向量表中指示的形式命名函 数( 第 14.4.2 节“中断向量表”)。例如,如果定义了以下函数,将会自动填充堆栈错 误向量: void __attribute__((interrupt(auto_psv))) _StackError(void); 请注意使用前导下划线。类似地,如果定义了以下函数,将会自动填充备用堆栈错误向 量: void __attribute__((interrupt(auto_psv)) _AltStackError(void); 同样,请注意使用前导下划线。 对于没有特定处理程序的所有中断向量,将会安装默认的中断处理程序。默认中断处理 程 序 由 链 接 器 提 供,它 只 会 简 单 地 复 位 器 件。应 用 程 序 也 可 以 通 过 声 明 名 为 _DefaultInterrupt 的中断函数来提供默认中断处理程序。每个表中的最后 9 个中断向量没有预定义的硬件函数。可以通过使用向量表中指示的名 称 ( 第 14.4.2 节 “中断向量表”)来填充这些中断的向量,或者也可以使用更适合于 应用程序的名称,而通过使用 interrupt 属性的 irq 或 altirq 参数仍然填充相应的 向量。例如,要指定一个函数应使用主中断向量 52,请使用以下语句: void __attribute__((interrupt(auto_psv, irq(52)))) MyIRQ(void); 类似地,要指定一个函数应使用备用中断向量 53,请使用以下语句: void __attribute__((interrupt(auto_psv, altirq(52)))) MyAltIRQ(void); irq/altirq编号可以为中断请求编号 45至 53之一。如果使用了 interrupt属性的 irq 参数,则编译器会创建外部符号名称 __Interruptn,其中的 n 是向量编号。因此, C 标 识符 _Interrupt45 至 _Interrupt53 是由编译器保留的。按相同的方式,如果使用了 interrupt 属性的 altirq 参数,则编译器会创建外部符号名称 __AltInterruptn, 其中的 n 是向量编号。因此, C 标识符 _AltInterrupt45 至 _AltInterrupt53 是由 编译器保留的。 回复
电子老工程师 回复了  :资料没有关于ZE的解释规格书 见链接 回复

  • 预留中断?手册里怎么描述的?用户可以配置?可能是这个内核的中断向量还有很多未使用,厂家可以在这个芯片的基础上增加外设并为其分配中断向量,称之为预留?
    • 发布于2018-02-22
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :https://www.tme.eu/Document/432be199f64d3df3d738d47ea320196f/MY_SAMXON%20E-Cap%20Catalog.pdf 回复

  • 用户是不能自己增加的,那个预留只是内核设计人留的,和寄存器里预留位类似,不是你想用就能用的
    • 发布于2018-02-22
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :https://docs.rs-online.com/9638/0900766b80f835d6.pdf 回复

  • 要看手册,每个中断都有固定的来源
    • 发布于2018-02-23
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :没有找到 回复

  • 中断默认都被芯片划分干净了,中断资源基本是固定的,你需要找相应芯片的数据手册看看
    • 发布于2018-02-23
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :经过查找原厂没有符合替代型号。 回复

  • 无论是什么单片机都不能新增中断源,中断源是系统划分好的,其实ARM单片机有十几种中断,实际应用都够用了,PIC应该也差不多。

    • 发布于2018-02-28
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

对于PIC单片机有预留的中断,能否自己增加中断源啊