首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]关于ETC中OC7M/OC7D的用法

[求助]关于ETC中OC7M/OC7D的用法

我是初次接触9S12系列的MCU,
对于Enhanced Capture Timer中关于
OC7M/OC7D寄存器的定义,始终没有弄懂,

这两个寄存器到底是起什么作用?
A channel 7 output compare
未必是说,这两个寄存器是专门应用通道7的输出?

best regards!
我自己来理解一下对于这两位的含义,也给大家留一点经验:

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
谢谢啦
有用
返回列表