91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

  • 回復(fù)
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

F28027在CCS中的ADC模塊的程序改不了寄存器的值!為什么呢?

F28027在CCS中的ADC模塊的程序在調(diào)試時改不了寄存器的值,這是為什么呢??應(yīng)該已經(jīng)使能ADC模塊了的。
附源程序:

#include "DSP28x_Project.h"   
interrupt void tim0_isr(void);
interrupt void ADC_convered(void);
Uint16 ADCINA0_Voltage_sum = 0;
Uint16 ADCINA1_Voltage_sum = 0;
Uint16 ADCINA2_Voltage_sum = 0;
Uint16 ADCINA0_Voltage = 0;
Uint16 ADCINA1_Voltage = 0;
Uint16 ADCINA2_Voltage = 0;
char convered_count = 0;
void main(void)
{
  InitSysCtrl();
   InitGpio();
  DINT;
  InitPieCtrl();
IER = 0x0000;    IFR = 0x0000;
InitPieVectTable();
    InitAdc();
    EALLOW;
    AdcRegs.ADCSAMPLEMODE.bit.SIMULEN0 = 0; //SOC0、SOC1單一采樣   
AdcRegs.ADCSAMPLEMODE.bit.SIMULEN2 = 0; //SOC2、SOC3單一采樣   
AdcRegs.ADCSOC0CTL.bit.CHSEL=0;   //SOC通道選擇      
AdcRegs.ADCSOC1CTL.bit.CHSEL=1;      
AdcRegs.ADCSOC2CTL.bit.CHSEL=2;      
AdcRegs.ADCSOC0CTL.bit.ACQPS = 6;  //采樣時間      
AdcRegs.ADCSOC1CTL.bit.ACQPS = 6;      
AdcRegs.ADCSOC2CTL.bit.ACQPS = 6;      
AdcRegs.ADCSOC0CTL.bit.TRIGSEL = 1;  //soc觸發(fā)選擇,TIM0   
AdcRegs.ADCCTL1.bit.INTPULSEPOS  = 1;   //結(jié)果存入寄存器才產(chǎn)生中斷
    PieVectTable.ADCINT1 = &ADC_convered;   
AdcRegs.INTSEL1N2.bit.INT1SEL = 2;    //中斷線1選擇soc2   
AdcRegs.INTSEL1N2.bit.INT1CONT  = 0;   
AdcRegs.INTSEL1N2.bit.INT1E  = 1;    //中斷使能
    PieCtrlRegs.PIEIER1.bit.INTx1 = 1;   //使能int1.1     EDIS;
/****************設(shè)置定時器,用以觸發(fā)ADC*****************/   
CpuTimer0Regs.TPR.bit.TDDR = 59;   
CpuTimer0Regs.TPRH.bit.TDDRH = 0; //對輸入時鐘60分頻,60M/60=1M   
CpuTimer0Regs.PRD.all = 500000;//定時0.5s   
CpuTimer0Regs.TCR.bit.TRB = 1; //reload   
CpuTimer0Regs.TCR.bit.TIE = 1; //使能中斷   
CpuTimer0Regs.TCR.bit.TSS = 0; //開始計數(shù)
    EALLOW;     PieVectTable.TINT0 = &tim0_isr;   
PieCtrlRegs.PIECTRL.bit.ENPIE = 1;   //使能PIE   
PieCtrlRegs.PIEIER1.bit.INTx7 = 1;   //使能int1.7   
IER |= 0x0001;//使能GROUP1   
EINT;   
EDIS;
  }
interrupt void ADC_convered(void)
{      //LED_toggle(LED2);     
ADCINA0_Voltage_sum += AdcResult.ADCRESULT0;     
ADCINA1_Voltage_sum += AdcResult.ADCRESULT1;     
ADCINA2_Voltage_sum += AdcResult.ADCRESULT2;     
AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;     
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;     
convered_count++;     
/*********轉(zhuǎn)換16次,取平均值*********/     
if(convered_count > 15)     
{          ADCINA0_Voltage = ADCINA0_Voltage_sum >> 4;//相當于除以16         
            ADCINA1_Voltage = ADCINA1_Voltage_sum >> 4;         
           ADCINA2_Voltage = ADCINA2_Voltage_sum >> 4;         
           ADCINA0_Voltage_sum = 0;         
           ADCINA1_Voltage_sum = 0;         
          ADCINA2_Voltage_sum = 0;         
            convered_count = 0;      }  
}
  interrupt void tim0_isr(void)
{     PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;  }
//===========================================================================
// No more.
//===========================================================================
全部回復(fù)(2)
正序查看
倒序查看
2013-07-24 20:51
寄存器沒有配置好吧!
0
回復(fù)
2013-07-24 21:28
@Constance
寄存器沒有配置好吧!

同意樓上的,應(yīng)該是沒配置好的!

F28027有很多寄存器都是受EALLOW:EDIS保護的!

0
回復(fù)
發(fā)
主站蜘蛛池模板: 和龙市| 闻喜县| 启东市| 桂东县| 温宿县| 桦川县| 怀远县| 清涧县| 临朐县| 盐源县| 都安| 剑川县| 邯郸县| 龙井市| 扎鲁特旗| 怀化市| 济南市| 明光市| 平山县| 大连市| 通化市| 视频| 雅安市| 泗水县| 德安县| 阿合奇县| 英德市| 大安市| 金沙县| 庆元县| 阳西县| 周至县| 清水县| 金昌市| 中卫市| 六枝特区| 五峰| 通河县| 若尔盖县| 加查县| 大洼县|