在c8051f里对应那个寄存器
最近在调试PCA,在STC里面是CL = 0;
CH = 0; //复位PCA寄存器
对应的c8051f里的是哪个寄存器? 每家模块的设计可能不一样,对应也没有太大意义
应该就是PCA计数的高低寄存器
ayb_ice 发表于 2021-4-23 08:40
每家模块的设计可能不一样,对应也没有太大意义
应该就是PCA计数的高低寄存器
...
但是出现一个问题,stc的代码测量脉宽是正常的,转到c8051f就不对了,老在变化
下面的代码在stc没有问题,c8051F总是变化
PCA_interrupt() interrupt 6 using 1
{
CCF0 = 0;
High.U8 = CCAP0H;
High.U8 = CCAP0L;
CCP_Bufer = High.U16; //把脉宽时间保存到数组里面
CL = 0;
CH = 0; //复位PCA寄存器
} chuandaoxy 发表于 2021-4-23 09:54
但是出现一个问题,stc的代码测量脉宽是正常的,转到c8051f就不对了,老在变化
下面的代码在stc没有问题 ...
要飞读才可以,你去读的时候,计数器也在走,可能会出错误的数据,
先读高,再读低,再读高,如果高没有变化则是正确的,否则重复这个过程直到正确,
有些MCU有硬件功能,可以自动飞读(不需要重复这个过程),但对读取顺序有要求,需要参考手册
飞读是个基本概念,可以百度下 RT:
chuandaoxy 发表于 2021-4-23 09:54
但是出现一个问题,stc的代码测量脉宽是正常的,转到c8051f就不对了,老在变化
下面的代码在stc没有问题 ...
仿真一下看看问题在哪 ayb_ice 发表于 2021-4-23 10:20
要飞读才可以,你去读的时候,计数器也在走,可能会出错误的数据,
先读高,再读低,再读高,如果高没有 ...
不是所有芯片都需要这样干。 这种问题不是该自己看规格书吗?
页:
[1]