打印

PIC33F ADC的触发源 PWM中断

[复制链接]
4418|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,那应该写成什么啊???

望指导一二!!!

使用特权

评论回复
5
songliangquan|  楼主 | 2012-5-2 08:19 | 只看该作者
是的,的确是这样的。我想先把特殊事件寄存器值设为0,在PTMR复位时触发一次AD转换,同时产生一次PWM中断(在中断中:改写特殊事件寄存器值为240,即60TAD。在AD中断时再把特殊事件寄存器值设为0),这样一个PWM周期不就可以有2个触发源了。

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

望指导一二!!!

使用特权

评论回复
6
songliangquan|  楼主 | 2012-5-2 08:19 | 只看该作者
是的,的确是这样的。我想先把特殊事件寄存器值设为0,在PTMR复位时触发一次AD转换,同时产生一次PWM中断(在中断中:改写特殊事件寄存器值为240,即60TAD。在AD中断时再把特殊事件寄存器值设为0),这样一个PWM周期不就可以有2个触发源了。

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

望指导一二!!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

11

帖子

0

粉丝