lakin
一等列兵
一等列兵
  • 金钱382RMB
  • 威望0点
  • 贡献值0点
  • CAV币0点
阅读:1162回复:1

nee工,请教你一个72131问题?

楼主#
更多 发布于:2006-04-04 20:33
nee工,麻烦你指点我一下。我现在读不到中频数的
我现在是把一个电台(unsigned long PLL_Shadow_IN1=0x360888;)发过去,想看它读回的FM的中频数的值是不是10。7Mhz
现在发个电台过去是可以收到了。显示也是正常的。当我把Read_72131()的返回值直接=0x053980(53980(十六进制)=342400,342400/32(GT)/100=107数值,是对的。现在中频数返回的值却是1的。那问题应该是在读中频时没有数值返回的。

疑问:1。我的思路是不是对的?
   a. 先发iN1(cte=0),接着再发in1(cte=1).--》发送in2的设置过去
//IN2参数设置为:0x121421
//          1              2                            4                  1                       2                   1
//                    0   1    0       0   0   1    0     1   0                              1000
//ioc1|ioc2|io1|io2 |B01|B02|B03|B04 |DNC|DOC0|DOC1|DOC2 |UL0|UL1|DZ0|DZ1 |GT0|GT1|TBC|DLC |IFS|TEST0|TEST1|TEST2
//B02=Fm电源;B03=AM电源。

b.延时50(//一般中频记数时间在64MS之内,本程序选择32MS,所以延时50MS已经足够了)
c.接着就去读中频数了。再就是把这个值转为kHZ。
//---------------------------------------------------------------------------
// Read_LC72131
//  addr: the addr of the control register
// return value
//---------------------------------------------------------------------------
static unsigned long Read_72131(void){
unsigned int i;
unsigned long temp = 0;
  // Send the addr byte first ------------//
  Write_LC72131_Addr(MODE_OUT);
  PIN_TUNER_CE = 1;
  LC72131_DELAY();
  // read the value dword ------------//
  for (i=24; i>0; --i){
    PIN_TUNER_CL = 0;
    LC72131_DELAY();
    temp <<= 1;
    if (PIN_TUNER_DO) temp |= 1;
    PIN_TUNER_CL = 1;
    LC72131_DELAY();
  }
  PIN_TUNER_CE = 0;
  return temp;
}
main:
......我现在是把一个电台(unsigned long PLL_Shadow_IN1=0x360888;)发过去,想看它读回的FM的中频数的值是不是10。7Mhz
       Write_LC72131(MODE_IN1,0x320888);//cte=0
      delay(30);
      //PLL_IN1_CTE=0x020000;
       for (j=0; j<255; j++)
        {
          if (PIN_TUNER_DO)break;
         }
      Write_LC72131(MODE_IN1,PLL_Shadow_IN1);//cte=1
      Write_LC72131(MODE_IN2, 0x121421);//end_uc
     // PIN_TUNER_CE=1;//这里是不是要把CE从1拉为0。
       for(i=0;i<10;i++)
        {  
        if(!PIN_TUNER_DO)break;//等待中频检测完成
         delay(10);
        }
       // PIN_TUNER_CE=0;
      IF_count=(long)(Read_72131()&0x0fffff)/GATE_TIME/100;//现在读出中频的数值都是111111。。。
[此贴子已经被作者于2006-4-5 3:29:49编辑过]
lakin
一等列兵
一等列兵
  • 金钱382RMB
  • 威望0点
  • 贡献值0点
  • CAV币0点
1楼#
发布于:2006-04-04 21:40
但我收到这个电台(0x360888=98。5mhz)时,我量出高平头的ST/RQ是高电平的的。为什么会不行的?
游客

返回顶部