PIC33F ADC的触发源 PWM中断

[复制链接]
5406|5
 楼主| songliangquan 发表于 2012-4-30 19:27 | 显示全部楼层 |阅读模式
我现在用的是33FJ32MC204
我现在需要采样8个模拟量:采用4通道 同步采样,触发源选择的是电机PWM触发,,每采集8个数据AD中断一次,这样做的话是不是需要2次触发ad转换啊???有什么解决办法?
想在产生pwm中断时改写特殊事件寄存器值,但不知道PWM中断服务程序怎么写???
 楼主| songliangquan 发表于 2012-4-30 19:50 | 显示全部楼层
void __attribute__((interrupt, no_auto_psv)) _PWM1Interrupt (void)

warning: Invalid interrupt vector names for device '33FJ32MC204' are:
           _PWM1Interrupt
编译有误
XIEYUANBIN 发表于 2012-5-1 18:59 | 显示全部楼层
204没有PWM2,所以PMW1INTERRUPT错误。你一定要8个通道采样的话,你可以开通MUDB,但还是必须要2个触发才能中断一次。
 楼主| songliangquan 发表于 2012-5-2 08:18 | 显示全部楼层
是的,的确是这样的。我想先把特殊事件寄存器值设为0,在PTMR复位时触发一次AD转换,同时产生一次PWM中断(在中断中:改写特殊事件寄存器值为240,即60TAD。在AD中断时再把特殊事件寄存器值设为0),这样一个PWM周期不就可以有2个触发源了。

现在的问题是:怎么写PWM中断程序,不能写成PWM1Interrupt,那应该写成什么啊???

望指导一二!!!
 楼主| songliangquan 发表于 2012-5-2 08:19 | 显示全部楼层
是的,的确是这样的。我想先把特殊事件寄存器值设为0,在PTMR复位时触发一次AD转换,同时产生一次PWM中断(在中断中:改写特殊事件寄存器值为240,即60TAD。在AD中断时再把特殊事件寄存器值设为0),这样一个PWM周期不就可以有2个触发源了。

现在的问题是:怎么写PWM中断程序,不能写成PWM1Interrupt,那应该写成什么啊???

望指导一二!!!
 楼主| songliangquan 发表于 2012-5-2 08:19 | 显示全部楼层
是的,的确是这样的。我想先把特殊事件寄存器值设为0,在PTMR复位时触发一次AD转换,同时产生一次PWM中断(在中断中:改写特殊事件寄存器值为240,即60TAD。在AD中断时再把特殊事件寄存器值设为0),这样一个PWM周期不就可以有2个触发源了。

现在的问题是:怎么写PWM中断程序,不能写成PWM1Interrupt,那应该写成什么啊???

望指导一二!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

11

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部