資源簡介
stm32 DMA例程
代碼片段和文件信息
?#include“adc.h“
?#include“delay.h“?
??u16?dat;
?void? ADC1_2_IRQHandler()
?{
??
???if(ADC1->SR&0X02)//標(biāo)志位,表示轉(zhuǎn)換完成
???dat=ADC1->DR;???//讀取數(shù)據(jù)會被自動清零
??//?ADC1->CR2|=1<<22;//開始轉(zhuǎn)換
?}
?void?adc_init()
?{??
??RCC->APB2ENR|=1<<2|1<<9; //開啟PA時鐘?以及ADC時鐘
??RCC->APB2RSTR|=1<<9;//復(fù)位adc1
??RCC->APB2RSTR&=~(1<<9);//復(fù)位完成,需要將復(fù)位關(guān)閉,否則將一直保持復(fù)位 ????
??RCC->CFGR|=1<<15;//設(shè)置為6分頻給ADC轉(zhuǎn)換時鐘 ?//讀取ADC0的值
??GPIOA->ODR=1<<0|1<<1;//設(shè)置PA0口為模擬上拉輸入,PA1口模擬上拉輸入
??ADC1->CR2|=1<<20;//允許軟件外部觸發(fā) ?
??ADC1->CR2|=1<<19|1<<18|1<<17;//選擇為軟件觸發(fā)
??ADC1->SMPR1=0X1c0000;?//為了提高精度1通道以及16通道
??ADC1->SMPR2=0X3f;?//通道01采樣間隔為最大
??ADC1->CR2|=1<<23;//開啟內(nèi)部溫度傳感器
??ADC1->CR2|=1<<0;//開啟轉(zhuǎn)換
??ADC1->CR1|=1<<8;//開啟掃描模式
??ADC1->CR2|=1<<3;//初始化復(fù)位校準(zhǔn)寄存器?
???ADC1->CR2|=1<<8;//允許dma訪問
??while(ADC1->CR2&1<<3);??//等待校準(zhǔn)結(jié)束? ?
??ADC1->CR2|=1<<2;//開始校準(zhǔn)
??while(ADC1->CR2&1<<2);??//等待校準(zhǔn)結(jié)束?
??//ADC1->CR1|=1<<5;//允許中斷
??ADC1->CR2|=1<<1;//設(shè)置為連續(xù)模式
??ADC1->SQR1|=2<<20;//開啟三個轉(zhuǎn)換
??ADC1->CR2|=1<<22;//開始規(guī)則轉(zhuǎn)換
??//?MY_NVIC_Init(21ADC1_2_IRQChannel2);//設(shè)置中斷優(yōu)先級
??ADC1->SQR3=0|16<<5|1<<10; ?//這個表明在第一規(guī)則通道當(dāng)中,進行轉(zhuǎn)換的將是16通道的數(shù)據(jù)
??//通道01以及通道16轉(zhuǎn)換
}
u16??show2()
{
??u16?data;
??while(!(ADC1->SR&0X02));
??data=ADC1->DR;
??//ADC1->CR2|=1<<22;//開始轉(zhuǎn)換
??return?data;
}
u16?show()
{
return?dat;
}
u16?get_temp()
{
?u8?i;
?u16?temp=0;
?for(i=0;i<10;i++)
?{
temp+=show2();
delay_ms(5);
?}
?temp=temp/10;
?return?temp;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1674??2012-03-19?12:15??ADC_DMA\Hardware\adc.c
?????文件????????153??2012-02-13?16:15??ADC_DMA\Hardware\adc.h
?????文件????????933??2012-03-19?11:51??ADC_DMA\Hardware\dma.c
?????文件????????230??2012-02-06?15:03??ADC_DMA\Hardware\dma.h
?????文件??????16156??2012-02-03?14:36??ADC_DMA\Hardware\font.h
?????文件????????142??2012-02-03?11:24??ADC_DMA\Hardware\led.c
?????文件????????132??2012-02-03?11:20??ADC_DMA\Hardware\led.h
?????文件???????1346??2012-02-04?14:30??ADC_DMA\Hardware\rtc.c
?????文件?????????88??2012-02-04?10:32??ADC_DMA\Hardware\rtc.h
?????文件???????7930??2012-02-04?16:20??ADC_DMA\Hardware\tft.c
?????文件???????5426??2012-02-04?16:21??ADC_DMA\Hardware\tft.h
?????文件???????2048??2012-01-07?16:51??ADC_DMA\SYSTEM\delay\delay.c
?????文件????????876??2011-01-12?20:34??ADC_DMA\SYSTEM\delay\delay.h
?????文件???????6887??2012-01-07?16:21??ADC_DMA\SYSTEM\sys\sys.c
?????文件???????3839??2011-01-12?20:34??ADC_DMA\SYSTEM\sys\sys.h
?????文件???????3342??2011-04-17?15:42??ADC_DMA\SYSTEM\usart\usart.c
?????文件???????1054??2011-04-17?15:45??ADC_DMA\SYSTEM\usart\usart.h
?????文件?????150772??2012-03-19?12:16??ADC_DMA\User\adc.crf
?????文件???????1617??2012-03-19?12:16??ADC_DMA\User\adc.d
?????文件?????175712??2012-03-19?12:16??ADC_DMA\User\adc.o
?????文件?????148168??2012-03-19?12:16??ADC_DMA\User\delay.crf
?????文件???????1629??2012-03-19?12:16??ADC_DMA\User\delay.d
?????文件?????171884??2012-03-19?12:16??ADC_DMA\User\delay.o
?????文件?????150105??2012-03-19?12:16??ADC_DMA\User\dma.crf
?????文件???????1585??2012-03-19?12:16??ADC_DMA\User\dma.d
?????文件?????174132??2012-03-19?12:16??ADC_DMA\User\dma.o
?????文件?????????19??2012-02-03?11:28??ADC_DMA\User\ExtDll.iex
?????文件??????98094??2012-03-19?12:17??ADC_DMA\User\Jli
?????文件?????149622??2012-03-19?12:16??ADC_DMA\User\led.crf
?????文件???????1585??2012-03-19?12:16??ADC_DMA\User\led.d
............此處省略42個文件信息
- 上一篇:國外很強的迷你四軸飛行器
- 下一篇:stm32庫函數(shù)代碼自動生成器V1.2
評論
共有 條評論