如何在P1.4输出100Hz方波时P1.6输出24kHz方波 | 有专门的时钟输出
芯片为8H8K64U-TSSOP20,运行主频24M,要求P1.4引脚输出100Hz占空比可调的方波。P1.6输出24kHz 50%占空比方波。P1.4可以使用PWM3P来输出100Hz占空比可调的方波。此时如何使用P1.6输出24kHz方波?
看了下P1.6上有PWM4P,不过ARR已经设置了输出100Hz的占空比,无法输出24kHz。
P1.6还有一个MCLKO_2输出,设置MCLKOCR = 0xFF,最高127分频,24e6/127=189k,和需要的24k差别不小。
请问如何同时在P1.4输出100Hz方波时,P1.6同时输出24kHz方波?
——————————————————————————————————
我仔细看了下PWM的文档,这个PWM的IP参考的是STM32的高级定时器,4个通道输出,共享同一个时基。这个高级定时器对于电源应用来说并不是最好的,建议参考TI的C28x系列芯片的ePWM来做,比STM32的高级定时器要好用的多。
由于这两路PWM共用同一个计数器,所以不好做到不同频率,估计其中一个得用定时器去实现。
P1.4 / PWM3P,P1.4引脚输出100Hz占空比可调的方波
P1.6 / PWM4P / MCLKO_2, P1.6输出24kHz 50%占空比方波
P1.6 直接对外输出时钟
24MHz / 10 / 10 =2.4MHz / 10 = 240KHz
24KHz 时钟输出,用
P3.5 / T0CLKO;
P3.4 / T1CLKO;
P1.3 / T2CLKO
最好将一路PWM调到PWMB组,这样就可以输出不同频率的PWM信号。
如果引脚已经固定不能修改的话,其中一路用定时器中断翻转IO输出,
只是这样会频繁产生中断占用大量系统资源。
页:
[1]