瑞萨工程师你好:
        我在做互补PWM时和AD配合用的。利用PWM中的TRD0和trdgra0 比较匹配进行AD值传送的。AD在8位时是对的。但是我有10位AD时,发现AD 的高2位的值不传到TRDGRD0(也就是无法传入TRDGRB0)中,这样就失去10位AD的作用。请问这是什么原因形成的?
void ad_init(void)
{
 adcon0 = 0x07; 
 adcap = 1;
 adcon1 = 0x28; /* 28=10 bit mode cks1=0 setting / Vref connected */
  adcon2 = 0x00; 
 wait_vref();
 adic = 0x00;         // 中断位IR清零,中断优先级为0级  
 asm("NOP");            /* Waiting for stability */
 asm("NOP"); 
    adst = 0;            //A/D转换开始和停止位
    ad = 0x00;           //AD寄存器清零
    adge = 1;            //TRD1 比较匹配时输出 AD触发=1。
    adtrg = 1;           //允许A/D触发
trdgrd0 = ad;  //trdgrd0 值在比较匹配时传送 trdgrb0      
trdgrc1 = ad;      //问题就在这边,无法正常传高2位的值????  
trdgrd1 = ad;
			
			
			
						
			
 我要赚赏金
