如何写dsPIC中断函数
来源: 芯艺
本站广告
  ENC28J60+uIP 基于TCP的MODBUS IO示例
  ENC28J60+uIP DHCP动态获取IP及UDP广播服务端示例
  ENC28J60+uIP HTTP GET方式将温度数据上传到web服务器
  C720H5上实现MODBUS远程IO
  FM1702读写S50(也叫M1)卡相关资料

dsPIC中断向量的默写名称在每个器件的默认连接文件中已指定,可以到编译器安装目录中support\dsPIC30F\gld 目录下找到对应器件的gld文件,打开并查找名称
以DSPIC4011为例,写一个adc中断函数,找到p30f4011.gld文件并打开找到如下内容

    LONG( DEFINED(__AltADCInterrupt)    ? ABSOLUTE(__AltADCInterrupt)    :
         (DEFINED(__ADCInterrupt)       ? ABSOLUTE(__ADCInterrupt)       :
         ABSOLUTE(__DefaultInterrupt)));


于是adc的中断函数可写成:

void __attribute__((interrupt, no_auto_psv)) _ADCInterrupt(void)


如果在中断中没有用到PSVPAG那么就用no_auto_psv以便让中断延迟最小,如果用到了就需要选择auto_psv,以便让中断程序退出时自动恢复相关寄存器内容。




声明:芯艺工作室(http://www.chipart.cn)保留所有权力,转载请注明出处!

芯艺工作室    蒙ICP备06005492号

Copyright© 2004-2020 ChipArt Studio All Rights Reserved