Board logo

标题: 单步调试结果和正常运行结果不一致--PWM [打印本页]

作者: flexraybeginer    时间: 2010-6-12 16:01     标题: 单步调试结果和正常运行结果不一致--PWM

本帖最后由 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的图像,想请问高手这是怎么一回事。
作者: flexraybeginer    时间: 2010-6-12 19:40

在DATA监视窗口能够看到PMFVAL0已经是0x3FFF了
作者: flexraybeginer    时间: 2010-6-12 21:41

原来是我没有遵循 对寄存器  读-修改-写 这样一种顺序,随意地写寄存器是不好的习惯,也是行不通的
作者: wangyuray    时间: 2011-12-2 20:38

麻烦问一下MC9S12XF512是怎么烧录程序的,建工程时没有TBDML这一项啊




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0