📄 ad985411.lst
字号:
void ParallelSetQDAC(uint data)
{
uchar temp[2];
temp[0] = data / 256;
temp[1] = data % 256;
ParallelSetReg(0x26, temp, 2);
}
void ParallelPowerDown(bool flag)
{
uchar data;
if (flag == true)
data = 0x17;
else
data = 0x00;
ParallelSetReg(0x1d, &data, 1);
}
void ParallelSetRefClk(uchar times)
{
uchar data;
if(times >= 4)
{
data = 0x20;
if (times >= 10)
data |= 0x40;
data |= times;
systemclk = systemclk * times;
ParallelSetReg(0x1e, &data, 1);
}
}
void ParallelSetMode(bool triangle, bool qdac, uchar mode)
{
uchar data;
data = (mode << 1);
if (triangle == true)
data |= 0x20;
if (qdac == true)
data |= 0x10;
ParallelSetReg(0x1f, &data, 1);
}
void ParallelSetOSK(bool bypass, bool osken, bool oskint)
{
uchar data;
data = 0;
if (bypass == true)
data |= 0x40;
if (osken == true)
data |= 0x20;
if (oskint == true)
data |= 0x10;
ParallelSetReg(0x20, &data, 1);
}
C51 COMPILER V8.02 AD985411 07/30/2007 18:46:28 PAGE 7
void Init9854(void)
{
DOUT;
SADDR;
RD;
WR;
MRESET;
SHAPEKEYING;
FBH;
UPDATE;
MRST();
SHAPEKEYINGLOW;
FBHLOW;
WRHIGH;
RDHIGH;
systemclk = 20;
ParallelPowerDown(false);
ParallelSetRefClk(4);
ParallelSetMode(false, false, SINGLETONE);
ParallelSetOSK(false, false, false);
}
void SingleTone(float freq, ulong amplitude)
{
ParallelSetMode(false, false, SINGLETONE);
ParallelSetFTW1(freq);
ParallelSetOSKI(amplitude);
ParallelSetOSKQ(amplitude);
}
void UnrampedFSK(float freq1, float freq2)
{
ParallelSetMode(false, false, FSK);
ParallelSetFTW1(freq1);
ParallelSetFTW2(freq2);
}
void RampedFSK(bool triangle, float freq1, float freq2, float rampedfreq, ulong rrclk)
{
ParallelSetMode(triangle, false, RAMPEDFSK);
ParallelSetFTW1(freq1);
ParallelSetFTW2(freq2);
ParallelSetDFW(rampedfreq);
ParallelSetRRClk(rrclk);
}
void PSK(float freq, float phase1, float phase2)
{
ParallelSetMode(false, false, BPSK);
ParallelSetFTW1(freq);
ParallelSetPhase1(phase1);
ParallelSetPhase2(phase2);
}
void AM(void)
{
}
#endif
417
418 //char CTRL_REG[]={0x10,0x64,0x00,0x00};
419 char CTRL_REG[]={0x00,0x6f,0x01,0x20};
C51 COMPILER V8.02 AD985411 07/30/2007 18:46:28 PAGE 8
420 #if ( parameter == 1 )
421
422 void CS( void )
423 {
424 1 CSBHIGH;
*** ERROR C202 IN LINE 424 OF E:\9854\AD9854\AD985411.C: 'P2OUT': undefined identifier
425 1 delay_9854(20);
426 1 CSBLOW;
*** ERROR C202 IN LINE 426 OF E:\9854\AD9854\AD985411.C: 'P2OUT': undefined identifier
427 1 }
428
429 void BreakOperation( void )//中断一次I/O操作
430 {
431 1 IORESETHIGH;
*** ERROR C202 IN LINE 431 OF E:\9854\AD9854\AD985411.C: 'P2OUT': undefined identifier
432 1 delay_9854(20);
433 1 IORESETLOW;
*** ERROR C202 IN LINE 433 OF E:\9854\AD9854\AD985411.C: 'P2OUT': undefined identifier
434 1 }
435
436 void SPISendByte(uchar data) //发送一个字节数据
*** ERROR C141 IN LINE 436 OF E:\9854\AD9854\AD985411.C: syntax error near ')'
437 {
438 1 uchar databuffer[9],i;
439 1 SDIO_OUT;
*** ERROR C202 IN LINE 439 OF E:\9854\AD9854\AD985411.C: 'P2DIR': undefined identifier
440 1 /******以下一段用来得到每次发送一位时的应发送的数据************************/
441 1 for(i=8;i>0;i--)
442 1 {
443 2 if(data%2)
*** ERROR C141 IN LINE 443 OF E:\9854\AD9854\AD985411.C: syntax error near 'data'
444 2 {databuffer[i]=4;}
445 2 else
446 2 databuffer[i]=0;
447 2 data = data>>1;
*** ERROR C141 IN LINE 447 OF E:\9854\AD9854\AD985411.C: syntax error near 'data'
448 2 }
449 1 SCLKHIGH;
*** ERROR C202 IN LINE 449 OF E:\9854\AD9854\AD985411.C: 'P3OUT': undefined identifier
450 1 for(i=1;i<9;i++)
451 1 {
452 2 SCLKLOW;
*** ERROR C202 IN LINE 452 OF E:\9854\AD9854\AD985411.C: 'P3OUT': undefined identifier
453 2 if(databuffer[i])
454 2 SDIOHIGH;
*** ERROR C202 IN LINE 454 OF E:\9854\AD9854\AD985411.C: 'P2OUT': undefined identifier
455 2 else
456 2 SDIOLOW;
*** ERROR C202 IN LINE 456 OF E:\9854\AD9854\AD985411.C: 'P2OUT': undefined identifier
457 2 delay_9854(1);
458 2 SCLKHIGH;
*** ERROR C202 IN LINE 458 OF E:\9854\AD9854\AD985411.C: 'P3OUT': undefined identifier
459 2 delay_9854(1);
460 2 }
461 1 SCLKLOW;
*** ERROR C202 IN LINE 461 OF E:\9854\AD9854\AD985411.C: 'P3OUT': undefined identifier
462 1 }
463
464 uchar SPIRecieveByte( void ) //接收一个字节数据
465 {
466 1 uchar databuffer,i;
467 1 SDIO_IN;
C51 COMPILER V8.02 AD985411 07/30/2007 18:46:28 PAGE 9
*** ERROR C202 IN LINE 467 OF E:\9854\AD9854\AD985411.C: 'P2DIR': undefined identifier
468 1 databuffer=0;
469 1 for(i=1;i<9;i++)
470 1 {
471 2 databuffer=databuffer<<1;
472 2 SCLKLOW;
*** ERROR C202 IN LINE 472 OF E:\9854\AD9854\AD985411.C: 'P3OUT': undefined identifier
473 2 SCLKHIGH;
*** ERROR C202 IN LINE 473 OF E:\9854\AD9854\AD985411.C: 'P3OUT': undefined identifier
474 2 if(SDIO_DATA)
*** ERROR C202 IN LINE 474 OF E:\9854\AD9854\AD985411.C: 'P2IN': undefined identifier
475 2 databuffer+=1;
476 2 }
477 1 SCLKLOW;
*** ERROR C202 IN LINE 477 OF E:\9854\AD9854\AD985411.C: 'P3OUT': undefined identifier
478 1 delay_9854 ( 10 );
479 1 return databuffer;
480 1 }
481
482 void Init9854 ( void )
483 {
484 1 uchar k;
485 1 HADEINIT;
*** ERROR C202 IN LINE 485 OF E:\9854\AD9854\AD985411.C: 'P2OUT': undefined identifier
*** ERROR C202 IN LINE 485 OF E:\9854\AD9854\AD985411.C: 'P2DIR': undefined identifier
*** ERROR C202 IN LINE 485 OF E:\9854\AD9854\AD985411.C: 'P3OUT': undefined identifier
*** ERROR C202 IN LINE 485 OF E:\9854\AD9854\AD985411.C: 'P3DIR': undefined identifier
486 1 BreakOperation( );
487 1 MRST( );
488 1 CS( );
489 1
490 1 SPISendByte( 0x07 ); // set Control Register addr.
491 1 for( k = 0; k < 4; k++ )
492 1 {
493 2 SPISendByte( CTRL_REG[k] ); // set Control Register
494 2 }
495 1
496 1 //IOUpdate( );
497 1 delay_9854 ( 5000 );
498 1 }
499
500 #endif
501
502 #if( msp430 == 1 )
void InitSystemClock(void) // 初始化系统时钟
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
SCFI0 |= FN_4;
SCFQCTL = 121; // 7.99MHz 120 * 32.768k
FLL_CTL0 = DCOPLUS + OSCCAP1;
P1DIR = 0x22;
P1SEL = 0x22;
}
#endif
513
514 #if( msp430 == 0 )
515 void InitSystemClock(void) // 初始化系统时钟
516 {
517 1 unsigned char i;
518 1 WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
*** ERROR C202 IN LINE 518 OF E:\9854\AD9854\AD985411.C: 'WDTCTL': undefined identifier
519 1 BCSCTL1 &= ~XT2OFF; // XT2on
C51 COMPILER V8.02 AD985411 07/30/2007 18:46:28 PAGE 10
*** ERROR C202 IN LINE 519 OF E:\9854\AD9854\AD985411.C: 'BCSCTL1': undefined identifier
520 1 do
521 1 {
522 2 IFG1 &= ~OFIFG; // Clear OSCFault flag
*** ERROR C202 IN LINE 522 OF E:\9854\AD9854\AD985411.C: 'IFG1': undefined identifier
523 2 for (i = 0xFF; i > 0; i--); // Time for flag to set
524 2 }
525 1 while ((IFG1 & OFIFG)); // OSCFault flag still set?
*** ERROR C202 IN LINE 525 OF E:\9854\AD9854\AD985411.C: 'IFG1': undefined identifier
526 1
527 1 BCSCTL2 |= SELM_2 + SELS;
528 1 }
529 #endif
530 #if( parameter == 0 )
void main( void )
{
uchar k,temp,readword;
InitSystemClock ( );
Init9854 ( );
MRST( );
Init9854 ( );
SingleTone ( 200000, 0xFFF );
temp = 0x1d;
for ( k = 4; k; k-- )
{
readword = ParallelReadByte ( temp ++ );
}
LPM0;
}
#endif
548
549 #if( parameter == 1 )
550 void main( void )
551 {
552 1 uchar k,temp;
553 1 InitSystemClock ( );
554 1
555 1 Init9854 ( );
556 1 MRST( );
557 1 while ( 1 )
558 1 SPISendByte( 0xff );
559 1 //it9854 ( );
560 1
561 1 SPISendByte(0x02); // set Frequency 1 addr.
562 1 SPISendByte(0x03); // set Frequency 1 NO.
563 1 for(k=0;k<5;k++)
564 1 {
565 2 SPISendByte(0x33); // set Frequency 1 NO.
566 2 }
567 1 //IOUpdate( );
568 1 delay_9854 ( 5000 );
569 1
570 1 SPISendByte( 0x87 );
571 1 for(k=0;k<4;k++)
572 1 {
573 2 temp = SPIRecieveByte( );
574 2 }
575 1
576 1 SPISendByte(0x82); // set Frequency 1 addr.
577 1
578 1 for(k=0;k<6;k++)
C51 COMPILER V8.02 AD985411 07/30/2007 18:46:28 PAGE 11
579 1 {
580 2 temp = SPIRecieveByte( ); // set Frequency 1 NO.
581 2 }
582 1
583 1 LPM0;
*** ERROR C202 IN LINE 583 OF E:\9854\AD9854\AD985411.C: 'LPM0': undefined identifier
584 1 }
585 #endif
C51 COMPILATION COMPLETE. 2 WARNING(S), 33 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -