打印
[51单片机]

c8051f的pca

[复制链接]
6043|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chuandaoxy|  楼主 | 2021-7-15 10:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 chuandaoxy 于 2021-7-15 10:29 编辑

用c8051f410做pwm输出,用的pca,t0作时基,不加最后一句,输出是正常的设定频率,加上频率就变了
不加最后一句,输出频率虽然正确,但是,不到一分钟,输出就消失了,大家分析一下哪里的问题
     PCA0CN    = 0x40;
    PCA0MD  &= ~0x40;
    PCA0MD    |= 0x05;
    PCA0CPM0  = 0xC3;
    PCA0CPM1  = 0x11;
        PCA0CPL5  = 0x00;
    PCA0MD    |= 0x40;
timer0中断的优先级和pca的中断优先级,如何设定?

使用特权

评论回复

相关帖子

沙发
ayb_ice| | 2021-7-15 11:30 | 只看该作者
PCA0MD    |= 0x40;
你这是看了WDT,要喂狗,否则会导致系统复位的

使用特权

评论回复
板凳
chuandaoxy|  楼主 | 2021-7-15 13:19 | 只看该作者
本帖最后由 chuandaoxy 于 2021-7-15 13:30 编辑

这个解释可以理解,,但是为什莫把狗打开pwm的输出频率会该改变使用原厂的demo没有停止输出的问题,我只是加入了捕捉PCA0CPM1  = 0x11;原厂是下面这样写的,跑了20分钟都正常
加入捕捉,2分钟就停止输出了
PCA0CN = 0x00;                      // Stop counter; clear all flags
PCA0MD = 0x04;                      // Use SYSCLK as time base
PCA0CPM0 = 0xCB;                    // Module 0 = 16-bit PWM mode and
                                       // enable Module 0 Match and Interrupt
                                       // Flags

  // PCA0CPM1  = 0x11;   出问题的地方

   CEX0_Compare_Value = 65536 - (65536 * 0.9);
   PCA0CPL0 = (CEX0_Compare_Value & 0x00FF);
   PCA0CPH0 = (CEX0_Compare_Value & 0xFF00)>>8;
   EIE1 |= 0x10;                       // Enable PCA interrupts
   CR = 1;   


使用特权

评论回复
地板
ayb_ice| | 2021-7-16 09:47 | 只看该作者
pca与狗共用,应该是有些冲突的,可能不能共用,看手册说明

使用特权

评论回复
5
chineseboyzxy| | 2021-7-16 19:19 | 只看该作者
打开看门狗频率为什么会改变,活儿多,干不过来了呗。。。。

使用特权

评论回复
6
xyz549040622| | 2021-7-18 08:07 | 只看该作者
我认为具体要看手册的说明,可能内部确实共用了。

使用特权

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

本版积分规则

855

主题

1044

帖子

4

粉丝