音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

緊急求助!!!!!

作者:開心啤酒 欄目:DSP技術(shù)
緊急求助!!!!!
各位高手,本人遇到一難題,在程序中,AD采樣已經(jīng)屏蔽,只有SCI功能.問題是:通過SCI輸出的數(shù)據(jù)不是我所期望的.怎么調(diào)也不對.程序源代碼如下,肯請各位高手給予指點(diǎn).謝謝.

/*
AD采樣基本程序,并帶有排隊濾波函數(shù)
*/
#include "global.c"
void SystemInit();
void Timer1Init();
void KickDog();  

void AD_Sample();
void Que();

void SCI_Init();    
void SCI_Send();     

int numled0=200;   
unsigned int t0=0,t1=0,i=0,j=0;   
unsigned int RESULT_0=0,RESULT_8=0;  
unsigned int AD0[18],AD8[18],AD_0,AD_8,AD_FLAG=0;
float AD_SIG0=0.0,AD_SIG8=0.0;   
unsigned int SCI_RXDATA;


main()
{  

   SystemInit();                 //系統(tǒng)初始化
   
   MCRA=MCRA & 0xC0FF;             //IOPB0-6設(shè)為IO口模式
   PBDATDIR=0xFFC2;               //所有LED=0
   PBDATDIR=PBDATDIR |0x003D;      //所有LED=1   
   
   
   SCI_Init();                         
   Timer1Init();                  //定時器初始化
   asm(" CLRC INTM ");
   while(1)
   {  
      if(AD_FLAG==1)                
          {
              AD_FLAG=0;
               for(i=0;i<18;i++)     
               {
               //    AD_Sample();   
                   AD0[i]=RESULT_0;
                   AD8[i]=RESULT_8;
               }
               //Que();            //排隊濾波
                      }
    }
   
}

void SystemInit()
{  

    asm(" SETC    INTM ");    /* 關(guān)閉總中斷 */
    asm(" CLRC  SXM  ");    /* 禁止符號位擴(kuò)展 */
    asm(" CLRC  CNF  ");    /* B0塊映射為 on-chip DARAM*/
    asm(" CLRC  OVM  ");    /* 累加器結(jié)果正常溢出*/
    SCSR1=0x87FE;     //**83FE**        /* 系統(tǒng)時鐘CLKOUT=20*2=40M */
                               /* 打開ADC,EVA,EVB,CAN和SCI的時鐘*/
    WDCR=0x006F;            /* 禁止看門狗,看門狗時鐘64分頻 */
    KickDog();                /* 初始化看門狗 */  
    IFR=0xFFFF;                /* 清除中斷標(biāo)志 */
    IMR=0x0002;                /* 打開中斷2*/      
    
}  

void Timer1Init()           
{

    EVAIMRA=0x0080;            //  定時器1周期中斷使能
    EVAIFRA=0xFFFF;            //  清除中斷標(biāo)志
    GPTCONA=0x0000;
    T1PR=2500;                //  定時器1初值,定時0.4us*2500=1ms             
    T1CNT=0;
    T1CON=0x144E;           //增模式, TPS系數(shù)40M/16=2.5M,T1使能
                
}  



void AD_Sample()
{   

    ADCTRL1=0x4000;            /* ADC模塊復(fù)位 */
    asm(" NOP    ");
    ADCTRL1=0x0020;         /* 自由運(yùn)行,啟動/停止模式,雙排序器工作模式 */
    
    MAXCONV=0x0000;
    CHSELSEQ1=0x0000;       //第0通道
    ADCTRL2=0x4000;         //復(fù)位使排序器指針指向CONV00
    ADCTRL2=0x2000;            /* 啟動ADC轉(zhuǎn)換 */
    while( (ADCTRL2&0x1000)==0x1000);        /*等待轉(zhuǎn)換完成 */
    asm(" NOP ");
    asm(" NOP ");
    RESULT_0=RESULT0>>6;
            
    MAXCONV=0x0000;         //第8通道          
    CHSELSEQ3=0x0008;
    ADCTRL2=0x0040;
    ADCTRL2=0x0020;
    while( (ADCTRL2&0x0010)==0x0010);  
    asm(" NOP ");
    asm(" NOP ");
    RESULT_8=RESULT8>>6;           
    
}
void Que()
{
   unsigned int MaxAD0=0;
   unsigned int MinAD0=AD0[0];
   unsigned int MaxAD8=0;
   unsigned int MinAD8=AD8[0];
   unsigned int tempAD0=0;
 &n
2樓: >>參與討論
開心啤酒
另:本人使用的是TMS320LF2407A
 
3樓: >>參與討論
開心啤酒
請高手指點(diǎn)迷津!
問題找到了.
SCSR1=0x87FE;     //**83FE**        
如果是83FE就對了。是87FE就錯了。也就是說倍頻是2就對了。如果是1就錯了.我想知道這是為什么,請高手給予指點(diǎn).謝謝了。

4樓: >>參與討論
nxy825715
個人見解:
老兄,不要上來就一大把代碼,過客沒有那么多的時間呀.
提問題的時候抓關(guān)鍵.

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請教用C語言訪問2407的特殊功能寄存器到底加不加"*",有什么區(qū)別?
緊急求救!TI280X系列
請教DSP的選型問題...
dsp調(diào)試問題,0x952
確實怪的現(xiàn)象!
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號