chuandaoxy 发表于 2021-7-15 10:26

c8051f的pca

本帖最后由 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与狗共用,应该是有些冲突的,可能不能共用,看手册说明

chineseboyzxy 发表于 2021-7-16 19:19

打开看门狗频率为什么会改变,活儿多,干不过来了呗。。。。

xyz549040622 发表于 2021-7-18 08:07

我认为具体要看手册的说明,可能内部确实共用了。
页: [1]
查看完整版本: c8051f的pca