本帖最后由 flexraybeginer 于 2010-6-12 16:23 编辑
#include <hidef.h> /* common defines and macros */
#include <mc9s12xf512.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xf512"
void main(void) {
uint i=0,j,k;
initcpu();
PMFCFG0=0x4F;//0100 1111 时钟不同步,A为边沿对齐,各通道独立
PMFCFG1=0x01;//0000 0001 禁用硬件加速,PWM0极性为正
PMFCFG2=0x3E;//0011 1110 除了PWM0外,其他全部屏蔽
PMFCFG3=0x00;
PMFVAL0=0x01FF;
PMFMODA=0x7FFF; //占空比为16比100
PMFFQCA=0x06; //0000 0111 每次载入新的值8分频
PMFENCA=0x82;//1000 0010 使能PWM0,禁止中断
PMFENCA=0x02;//停止PWM0输出
PMFVAL0=0x3FFF;//更改占空比为1比2
PMFENCA=0x82;//使能PWM0
/* put your own code here */
EnableInterrupts;
for(;;){}
}
单步调试的结果是占空比为2比1,而如果正式运行的话用示波器看出来却是16比100的图像,想请问高手这是怎么一回事。 |