个人赌博网站: [8/16位单片机] PIC33FJ系列,PWM输出,关于时基中断如何使用的问题

真钱麻将平台存款网上娱乐场
147|10
楼主
本帖最后由 galjewf 于 2020-7-29 15:43 编辑

最基本的PWM输出已经完成了,看到手册上写着可以根据PWM脉冲产生中断事件于是想尝试写个例程,但是找了一会也没找到这个中断入口函数名呀。
1.难道这个中断功能,使用方法和外部中断这种不一样吗,请各位指教?2.我想在中断发生后,停止这一通道的PWM波发生,有什么方法吗?
芯片是PIC33FJ64MC506


沙发
 楼主 | 2020-7-29 17:51 | 只看该作者
或者告诉在下,个人赌博网站:怎么控制PWM输出固定数量的脉冲数。主要是用来控制带驱动芯片的两相步进电机
板凳
| 2020-7-30 09:43 | 只看该作者
数据手册TABLE 7-1: INTERRUPT VECTORS里有,PWM – PWM Period Match中断

评论

galjewf 2020-8-3 14:14 回复TA
@ynwa :没有呀,这个芯片的gld里面一个PWM相关的文本都没有。。 
ynwa 2020-7-31 13:22 回复TA
@galjewf :中断函数名就是PWMInterrupt,你看GLD文件的话,里面也有。 
galjewf 2020-7-30 10:07 回复TA
这个向量表找到了,但是具体函数名在下不会编写,以前在下写中断都是打开器件.gld文件找的函数名,但是没搜到PWM相关的中断入口函数。能否再指教一下? 
地板
| 2020-7-31 13:45 | 只看该作者
每次你装完编译器,里面都有个docs文件夹,再往下有个vector_docs,全是网页,每个型号一个,打开就是这个芯片的所有中断向量名字
5
| 2020-7-31 14:49 | 只看该作者
MCC好像支持这个系列, 自动生成中断的,就不用自己去找了...
6
 楼主 | 2020-8-3 14:46 | 只看该作者

手册这里的时基中断具体配置方法或者例程能不能讲一下,求求了
7
| 2020-8-4 09:56 | 只看该作者
galjewf 发表于 2020-8-3 14:46
手册这里的时基中断具体配置方法或者例程能不能讲一下,求求了

中断要配置什么?你选择使能或禁止就可以了。
你贴图的这一页,写的很清楚,每种工作模式下中断产生方式。也就是说中断产生的方式取决于工作模式!因此,你要配置的是工作模式。
工作模式通过PTMOD选择,至于选哪种工作模式,应该问用的人自己。
8
 楼主 | 2020-8-4 14:30 | 只看该作者
ynwa 发表于 2020-8-4 09:56
中断要配置什么?你选择使能或禁止就可以了。
你贴图的这一页,写的很清楚,每种工作模式下中断产生方式 ...

你好,在上面你说的中断函数名是PWMInterrupt,但是本人找对应的gld文件搜索连PWM这个字眼都没有。
还有一个就是查找手册中断这一章时,本人只看到PWM错误事件和故障事件。
在代码中定义PWMInterrupt也没报错,但是也没有进入PWMInterrupt函数。下面是在下写的代码。
  1. void pwm1_init()//RE0,RE1
  2. {
  3.         PTPER=3125-1;//控制周期,越大频率也越小,14位寄存器,最大取值=2^14=16384

  4.         PTCONbits.PTEN = 1;                        //PWM time base is on
  5.         PTCONbits.PTMOD = 0b01;                // operates in a Free-Running mode
  6.         PTCONbits.PTCKPS = 0b11;        // PWM time base input clock period is TCY (1:64 prescale)
  7.         PWMCON1bits.PMOD1 = 1;                //PWM I/O pin pair is in the Independent PWM Output mod
  8.        
  9.         PWMCON1bits.PEN1H = 1;                //PWMxH pin is enabled for PWM output
  10.         PWMCON1bits.PEN1L = 1;                //PWMxL pin is enabled for PWM output
  11.        
  12.         PWMCON2bits.SEVOPS = 0;                //PWM Special Event Trigger Output Postscale
  13.         PWMCON2bits.IUE = 1;                // Updates to the active PDC registers are immediate
  14.        
  15.         PDC1 = PTPER;                        //控制占空比,范围是(0~2)*PTPER
  16. }
  17. void pwmINT_init()
  18. {
  19.         IPC14bits.PWMIP = 0b001;
  20.         IEC3bits.PWMIE        = 0b1;
  21.         IFS3bits.PWMIF        = 0b0;
  22.        
  23. }
  24. void __attribute__((interrupt, no_auto_psv)) _PWMInterrupt()
  25. {
  26.         if(IFS3bits.PWMIF == 1)
  27.         {
  28.                 PTCONbits.PTEN = 1;
  29.                 IFS3bits.PWMIF = 0;
  30.         }       

  31. }       
  32. int main()
  33. {
  34.        pwmINT_init();
  35.         pwm1_init();
  36.     while(1);
  37. }
复制代码
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

真钱麻将平台存款网上娱乐场 永利游戏开户直营 返回顶部 返回列表
赛马会彩票网站直营网 永利国际物业登入 真钱麻将平台存款网上娱乐场 去澳门扒仔网上娱乐场 凯撒皇宫棋牌外围
澳门百老汇网站 申博太阳城亚洲官网现金网 太阳城总网 娱乐开户游戏 赌场看场子拘留多久登入
济州岛新罗赌场图片 沙龙365官网网上娱乐场 趣彩网游戏 永利娱乐可靠吗 澳门皇冠娱乐场官网网上娱乐场
ag电子游戏投注登入 AB亚洲馆娱乐官方网 www.666sbo.com 澳门赌场网盘 申博138真人手机APP下载