色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x
查看: 6796|回復(fù): 2
打印 上一主題 下一主題

[提問] 雙ADC模式出現(xiàn)的奇怪的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2011-12-15 14:35:51 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
我在做一個表,我想用AD1和AD2同時測量2路電壓值,當(dāng)沒時能AD2時,AD1測得的正弦波為正常波形,當(dāng)時能了AD2時,兩路測得的同一信號正弦波形峰峰值偏大了,直接導(dǎo)致測得的有效值偏大了,這個會是什么原因呢

1122.JPG (12.69 KB)

1122.JPG
沙發(fā)
 樓主| 發(fā)表于 2011-12-15 14:37:05 | 只看該作者
/*******************************************************************************
* 函數(shù)名 : DMA_configuration  說明 : DMA通道1初始化配置,用于ADC結(jié)果傳輸保存
*******************************************************************************/
void DMA_Configuration(void)
{
// DMA_ISR = 0x00000000;
/*DMA中斷狀態(tài)寄存器,可通過設(shè)置IFCR對應(yīng)位清除
              |||||||+---GIF1 =0:通道1沒產(chǎn)生TE、HT或TC事件全局中斷標(biāo)志
              |||||||+---TCIF1=0:通道1沒產(chǎn)生傳輸完成中斷標(biāo)志
              |||||||+---HTIF1=0:通道1沒產(chǎn)生半傳輸中斷標(biāo)志
              |||||||+---TEIF1=0:通道1沒產(chǎn)生傳輸錯誤中斷標(biāo)志
              ||||||+----通道2中斷標(biāo)志組
              ||||++-----通道3中斷標(biāo)志組
              ||||++-----通道4中斷標(biāo)志組
              |||+-------通道5中斷標(biāo)志組
              ||+--------通道6中斷標(biāo)志組
              ||+--------通道7中斷標(biāo)志組
              +----------保留*/
// DMA_IFCR= 0x00000000;
/*DMA中斷標(biāo)志清除寄存器,可由軟件設(shè)置或清除
              |||||||+---CGIF1 =1:清除通道1的TE、HT或TC事件全局中斷標(biāo)志
              |||||||+---CTCIF1=1:清除通道1的傳輸完成中斷標(biāo)志
              |||||||+---CHTIF1=1:清除通道1的半傳輸中斷標(biāo)志
              |||||||+---CTEIF1=1:清除通道1的傳輸錯誤中斷標(biāo)志
              ||||||+----清除通道2中斷標(biāo)志組
              ||||++-----清除通道3中斷標(biāo)志組
              ||||++-----清除通道4中斷標(biāo)志組
              |||+-------清除通道5中斷標(biāo)志組
              ||+--------清除通道6中斷標(biāo)志組
              ||+--------清除通道7中斷標(biāo)志組
              +----------保留*/
  DMA_CCR1=  0x00003A80;/*0011 1010 1000 0000  
               ||||       |||| |||| |||| |||+--EN = 0:通道關(guān)閉,1:通道開啟
               ||||       |||| |||| |||| ||+---TCIE=0:不允許傳輸完成中斷
               ||||       |||| |||| |||| |+----HTIE=0:禁止半傳輸中斷
               ||||       |||| |||| |||| +-----TEIE=0:禁止傳輸錯誤中斷
               ||||       |||| |||| |||+-------DIR =0:數(shù)據(jù)傳輸方向(從外設(shè)讀)
               ||||       |||| |||| ||+--------CIRC=0:不執(zhí)行循環(huán)操作
               ||||       |||| |||| |+---------PINC=0:不執(zhí)行外設(shè)地址增量模式
               ||||       |||| |||| +----------MINC=1:執(zhí)行存儲器地址增量模式
               ||||       |||| ||++------------PSIZE=10:32位外設(shè)數(shù)據(jù)寬度
               ||||       |||| ++--------------MSIZE=10:32位存儲器數(shù)據(jù)寬度
               ||||       ||++-----------------PL=11:最高通道優(yōu)先級
               ||||       |+-------------------MEM2MEM=0:非存儲器到存儲器模式
               ++++-------+--------------------保留*/

  DMA_CNDTR1=40;//0x00001000;          //DMA通道1傳輸數(shù)量寄存器(4096*2 Bytes)  
  DMA_CPAR1 = (uint32_t)ADC1_DR_ADDR;       //DMA通道1的外設(shè)數(shù)據(jù)寄存器基地址
  DMA_CMAR1 =(uint32_t)&(Scan_Buffer[0]);//DMA通道1的源或目標(biāo)的存儲器地址
//  DMA_CCR1 |= 0x00000001;         // EN = 1:DMA通道1開啟
}

/*******************************************************************************
* 函數(shù)名    : ADC_configuration  說明  : ADC初始化,采樣完成后自動DMA到緩沖區(qū)
*******************************************************************************/
void ADC_Configuration(void)
{
  ADC2_CR1 =0x00000000;
  ADC1_CR1 =0x00060000;/*
              ||||||++---AWDCH[4:0]:模擬看門狗通道選擇位
              ||||||+----=000:不允許EOC、AWD、JEOC中斷
              |||||+-----Nib8_SCAN=1:使用掃描模式
              ||||++-----保持復(fù)位值
              |||+-------DUALMOD=6:規(guī)則同步模式
              ||+--------規(guī)則通道和注入通道禁用模擬看門狗
              ++---------保留*/
  ADC2_CR2 =0x001E0000;
  ADC1_CR2 =0x00100100;/*
              |||||||+---ADON=0:關(guān)閉ADC轉(zhuǎn)換/校準(zhǔn),=1:開啟ADC并啟動轉(zhuǎn)換
              |||||||+---CONT=0:1:連續(xù)轉(zhuǎn)換模式
              |||||||+---CAL=0,=1:A/D校開始準(zhǔn),校準(zhǔn)后該位將被硬件清除
              |||||||+---RSTCAL=0,=1:初始化校準(zhǔn)寄存器,校準(zhǔn)后該位將被硬件清除
              ||||||+----保留
              |||||+-----ALIGN=0 & DMA=1:數(shù)據(jù)右對齊和使用DMA模式
              ||||+------注入通道設(shè)置,這里未使用,設(shè)置為默認(rèn)值
              |||+-------=0000:規(guī)則通道使用定時器1的CC1事件啟動轉(zhuǎn)換,=1110:SWSTART
              ||+--------=1:使用外部觸發(fā)信號啟動轉(zhuǎn)換
              ++---------保留*/
  ADC2_SQR1=0x00000000;
  ADC1_SQR1=0x00000000;/*ADC規(guī)則序列寄存器 1
              |||||||+---SQ13[4:0]規(guī)則序列中的第13個轉(zhuǎn)換通道編號(0-17)。
                          ||||||+----SQ14[4:0]規(guī)則序列中的第14個轉(zhuǎn)換通道編號(0-17)。
                          ||||+------SQ15[4:0]規(guī)則序列中的第15個轉(zhuǎn)換通道編號(0-17)。
                          |||+-------SQ16[4:0]規(guī)則序列中的第16個轉(zhuǎn)換通道編號(0-17)。
                          ||+--------L[3:0]:規(guī)則轉(zhuǎn)換序列通道長度:00001個轉(zhuǎn)換)...1111(16個轉(zhuǎn)換)
              ++---------保留*/
  ADC2_SQR3 =0x00000001; //----------------------
  ADC1_SQR3 =0x00000000;/*ADC規(guī)則序列寄存器 3
               ||||||++---SQ1=00000:轉(zhuǎn)換序列中的第1個轉(zhuǎn)換通道的編號(0)
               +++++++----SQ2-6=00000:轉(zhuǎn)換序列中第2-6個轉(zhuǎn)換通道編號(5Bits*5)
               +----------保留*/
  ADC2_SMPR2=0x00000001;
  ADC1_SMPR2=0x00000001;/*ADC采樣時間寄存器 1   
               |||||||+---SMP01=000(3Bits):使通道00的采樣時間 1.5T   
               ||||||+----SMP02=000(3Bits):使通道01的采樣時間 1.5T
               |+++++++---SMP11-17=000(3Bits*7):通道11-17的采樣時間 1.5T
               ++---------保留*/
  ADC1_CR2 |=0x00000001;
  ADC2_CR2 |=0x00000001;       //ADON=1:開啟ADC1、ADC2

  ADC1_CR2 |=0x00000008;
  while(ADC1_CR2 & 0x00000008);//初始化ADC1校準(zhǔn)寄存器

  ADC2_CR2 |=0x00000008;
while(ADC2_CR2 & 0x00000008);//初始化ADC2校準(zhǔn)寄存器

  ADC1_CR2 |=0x00000004;
  while(ADC1_CR2 & 0x00000004);//ADC1校準(zhǔn)

  ADC2_CR2 |=0x00000004;
  while(ADC2_CR2 & 0x00000004);//ADC2校準(zhǔn)
}
/*******************************************************************************
* 函數(shù)名 : Timer_configuration    說明 : 系統(tǒng)定時器初始化配置
*******************************************************************************/
void Timer_Configuration(void)
{
//---------------TIM1用于定時觸發(fā)ADC采樣-------------------
// Set_Base(Item_Index[2]);
  TIM1_PSC = 4;
  TIM1_ARR = 7199;
  TIM1_CCR1=(7199+1)/2;
  TIM1_CR1 = 0x0094;/*0000 0000 1001 0100  
                      |||| |||| |||| |||+---CEN=0,禁止計數(shù)器
                      |||| |||| |||| ||+----UDIS=0,允許UEV更新
                      |||| |||| |||| |+-----URS=1:只有計數(shù)器溢出產(chǎn)生中斷或DMA請求
                      |||| |||| |||| +------OPM=0:在發(fā)生更新事件時,計數(shù)器不停止
                      |||| |||| |||+--------DIR=1,計數(shù)器向下計數(shù)
                      |||| |||| |++---------CMS=00,選擇邊沿對齊模式
                      |||| |||| +-----------ARPE=1,TIM1_ARR寄存器被裝入緩沖器
                      |||| ||++-------------CKD=00,CK_INT分頻比為1
                      ++++-++---------------保留*/
  TIM1_RCR = 0x0000;/*0000 0000 0000 0001  
                      |||| |||| ++++ ++++---在邊沿對齊模式下,PWM周期的數(shù)目+1
                      ++++-++++-------------保留*/
  TIM1_CCER =0x0001;/*0000 0000 0000 0001  
                      |||| |||| |||| |||+---CC1E=1,OC1信號輸出到對應(yīng)的輸出引腳
                      |||| |||| |||| ||+----CC1P=0,OC1高電平有效
                      |||| |||| |||| |+-----CC1NE=0,OC1N禁止輸出
                      |||| |||| |||| +------CC1NP=0,OC1N高電平有效
                      ++++-++++-++++--------CC2、CC3、CC4配置為復(fù)位值*/
  TIM1_CCMR1=0x0078;/*0000 0000 0111 1100  
                      |||| |||| |||| ||++---CC1S=00,CC1通道被配置為輸出
                      |||| |||| |||| |+-----OC1FE=1,允輸出比較1 快速使能?
                      |||| |||| |||| +------OC1PE=1,輸出比較1預(yù)裝載使能
                      |||| |||| |+++--------0C1M=111,PWM模式2
                      |||| |||| +-----------OC1CE=0,OC1REF 不受ETRF輸入的影響
                      ++++-++++-------------CC2通道配置為復(fù)位值*/
  TIM1_BDTR =0x8000;/*1000 0000 0000 0000  
                      |+++-++++-++++-++++---其它位保持不變
                      +---------------------MOE=0,主輸出使能*/
  TIM1_DIER =0x4200;/*0100 0011 0000 0000  DMA和中斷使能寄存器
                       |     ||        +----CC1IE=0:不允許捕獲/比較1中斷
                       |     |+-------------UDE=1:允許更新的DMA請求
                       |     +--------------CC1DE=1:允許捕獲/比較1的DMA請求
                       +--------------------TDE=1:允許觸發(fā)DMA請求*/
  TIM1_CR1 |=0x0001;//CEN=1,使能TIMER1計數(shù)器
}
板凳
發(fā)表于 2011-12-16 10:31:23 | 只看該作者
信號在接入ad端口之前要加驅(qū)動緩沖電路,你有沒有做啊 回復(fù)2樓eposar
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表