我自己来理解一下对于这两位的含义,也给大家留一点经验:
OC7M:
Output Compare Mask Action for Channel 7:0
0 The corresponding OC7Dx bit in the output compare 7 data register will not be transferred to the timer port on
a successful channel 7 output compare, even if the corresponding pin is setup for output compare.
1 The corresponding OC7Dx bit in the output compare 7 data register will be transferred to the timer port on a
successful channel 7 output compare.
Note: The corresponding channel must also be setup for output compare (IOSx = 1) for data to be transferred
from the output compare 7 data register to the timer port.
其9S12的中ETC的Channel7的TC7用法比较特殊,
另外的TC0~6的Count可以与TC7进行比较,这样所有的TC0~6的输出频率
都统一到TC7确定的频率下,而TC0~TC6所输入的数值则代表
高/低电平的占空比。
从而实现PWM可能。
给你一段例子,肯定会对你有帮助
//下面为输出比较的初始化设置。
/* 因为总线频率为25M,所以下面的配置频率为(25M/5000)Hz
其中TC4输出波形频率为5K,波形近似方波
TC5输出频率也为5K,波形低电平很窄
TC6输出频率也为5K,波形高电平很窄
但如果去掉OC7M的配置,即OC7M=0,则所有通道的输出波形均一样,
其频率均为2.5K,波形为方波。这因为此时没有执行输出比较功能,
波形只是在计数到TC7时溢出,溢出时波形反转*/
TIOS=0xf0;
TSCR1=0x80;
TTOV=0xf0;
TCTL1=0x55;
TC4=2500;
TC5=200;TC6=4500;TC7=5000;
TSCR2=0x08;
OC7M=0xf0;
这是nishui_2000给的例子,thx |