近期正在学习STC8H的PWM功能,STC8H的PWM功能很强大,寄存器也较多,但寄存器的bit位名字相近,功能也相似,官方手册中对位功能介绍的不甚详细,所以导致学习起来十分困难,许多网友说会使用PWM输出功能就得一个学期以上,我是反复学习、摸索两三个星期才勉强会设置PWM输出。现打算使用PWM捕捉功能测量脉冲周期来计算频率(频率不高),以达到测量土壤湿度的目的(电容式极板,由N5EEE产生不同的频率),但发现官方STC8H手册(20230718板)范例和STC-ISP(6.91W)范例设置不同,因是初学,还是懵懵不懂,特请版主等高手给予解答为盼。先贴出我整理的两者设置的异同,然后再求解。 目前我有以下不明白的地方: 1. 两者范例上都是将P1.2和P1.3设置为高阻抗输入,P1的其他引脚是推挽输出,但手册范例捕获是在通道1的P1.0, ISP软件范例捕获输入是在通道2,为何两者捕获通道不同但设置却相同,是手册范例设置有误还是该项设置不影响捕获??? 2.手册范例上在通道1(P1.0)捕获,ISP软件范例中说是在通道2输入捕获,但手册上的范例关闭通道2的PWM输出功能,通道1的输出功能没有关闭,按照范例中的说明应该关闭通道1的PWM输出功能。手册中范例设置有误还是另有原因??? 3.手册范例设置CCR1=0x01,查应用是配置通道1为捕获输入,这与范例中开头的说明一致,但PWMA_IER=0x40,查手册是使能捕获2中断;ISP软件范例CCR2=0x01,查应用时配置通道2为捕获输入,这与其范例中的设置一致,中断设置也是使能捕获2中断。为何两者设置的捕获通道不同,但都是开启的捕获2中断??? 4. 在捕获中断执行中,ISP软件范例判断CC1捕获标志后执行P03取反后清除CC1捕获标志,但在范例中没有设置通道1的捕获,这部分设置是否其作用,是什么作用???
5. 在捕获中断执行中,手册中范例判断CC2捕获标志执行读取CCR1数据后却清除CC1捕获标志(设置PWM_SR1&=~0x02), 为什么清除CC1捕获标志却不清除CC2捕获标志???
|