能不能提供Timer_A内部原理框图里的EQU0,EQUx以及OUTx相关的时序图?
例如输出模式7,增计数模式
到底能不能设置TACCRx=TACCR0?
到底能不能设置TACCRx=0?
假如TACCR0=255,那么50%占空比,那么TACCRx到底应该设置为多少?
0%占空比能不能实现?100%占空比呢?我看到其它类型的单片机有0%占空比可以像其它占空比值一样直接设置的,100%占空比不能完全达到,但是也可以像其它占空比值一样直接设置,只不过不能够完全达到100%,有一丁点小小的误差。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
能不能提供Timer_A内部原理框图里的EQU0,EQUx以及OUTx相关的时序图?
例如输出模式7,增计数模式
到底能不能设置TACCRx=TACCR0?
到底能不能设置TACCRx=0?
假如TACCR0=255,那么50%占空比,那么TACCRx到底应该设置为多少?
0%占空比能不能实现?100%占空比呢?我看到其它类型的单片机有0%占空比可以像其它占空比值一样直接设置的,100%占空比不能完全达到,但是也可以像其它占空比值一样直接设置,只不过不能够完全达到100%,有一丁点小小的误差。
谢谢回答,可是没看到什么呀,是个演讲稿,即使如此,也没有我所问的内容相关
你好!
你提到的Timer in Up Mode ,Output Mode 7: Reset/Set ,可以实现0% 和 100%占空比。
以25Mhz SMCLK 时钟源为例:
通过TAxCCR0设置周期,当TAxCCR0 = 250,输出PWM wave周期为100khz。
配置TAxCCTL1,使TAxCCR1比较结果通过IO输出。
TAxCCR1 = 0 时, 输出占空比为0%;
TAxCCR1 = 251时,输出占空比为100%。
你好!
你手上有没有开发板,可以按照下面步骤做一下实验:
void main (void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
设置对应IO输出;
TAxCCR0 = 250; // Set Period
TAxCCTL1 = OUTMOD_7; // Output Mode 7: Reset/Set
TAxCCR1 = 0; // Set duty cycle, 0 for 0%, 251 for 100%
TAxCTL = TASSEL__SMCLK + MC_1; // SMCLK, up mode
}
首先,按照一些资料,好像TAxCCR0 = 250应该设置为TAxCCR0 = 249呀,是不是这样?
还有,用户往往都是在程序中要调节的,往往都是连续调节,那么按照您的程序,TAxCCR1 = 250的时候是什么输出呢?难道要在程序中判断为100%单独设置?
另外,根据原理框图:
OUTx是通过D触发器输出的,这是需要时钟触发的,这里面就有一个时序问题吧,难道是下一个定时器时钟也就是CCRx+1的时候实际才起变化的?
所以我想知道EQU0,EQUx以及OUTx等等的时序图
duty cycle = (TAxCCR0 / 251) * 100%
TAxCCR1 = 250, duty cycle = (250 / 251) * 100%