資源簡介
設(shè)計了通過AD8232基于stm32的藍牙無線傳輸簡易心電圖檢測儀,能夠?qū)⑷梭w檢測到的心電圖信息經(jīng)過AD轉(zhuǎn)換通過藍牙傳輸?shù)诫娔X或者手機端,并可以在電腦端顯示心電圖波形以及心率情況,系統(tǒng)簡易可行,誤差較小

代碼片段和文件信息
#include?“adc.h“
#include?“delay.h“ ???
////////////////////////////////////////////////////////////////////////////////// ?
//本程序只供學(xué)習(xí)使用,未經(jīng)作者許可,不得用于其它任何用途
//ALIENTEK?MiniSTM32開發(fā)板
//ADC?代碼 ???
//正點原子@ALIENTEK
//技術(shù)論壇:www.openedv.com
//修改日期:2014/3/9
//版本:V1.0
//版權(quán)所有,盜版必究。
//Copyright(C)?廣州市星翼電子科技有限公司?2009-2019
//All?rights?reserved ??
//////////////////////////////////////////////////////////////////////////////////?
???
//初始化ADC
//這里我們僅以規(guī)則通道為例
//我們默認僅開啟通道1 ???
void??Adc_Init(void)
{????
//先初始化IO口
? RCC->APB2ENR|=1<<2;????//使能PORTA口時鐘?
GPIOA->CRL&=0XFFFFFF0F;//PA1?anolog輸入
//通道10/11設(shè)置 ?
RCC->APB2ENR|=1<<9;????//ADC1時鐘使能 ??
RCC->APB2RSTR|=1<<9;???//ADC1復(fù)位
RCC->APB2RSTR&=~(1<<9);//復(fù)位結(jié)束 ????
RCC->CFGR&=~(3<<14);???//分頻因子清零
//SYSCLK/DIV2=12M?ADC時鐘設(shè)置為12MADC最大時鐘不能超過14M!
//否則將導(dǎo)致ADC準確度下降!?
RCC->CFGR|=2<<14;?????? ?
ADC1->CR1&=0XF0FFFF;???//工作模式清零
ADC1->CR1|=0<<16;??????//獨立工作模式??
ADC1->CR1&=~(1<<8);????//非掃描模式 ??
ADC1->CR2&=~(1<<1);????//單次轉(zhuǎn)換模式
ADC1->CR2&=~(7<<17); ???
ADC1->CR2|=7<<17; ???//軟件控制轉(zhuǎn)換??
ADC1->CR2|=1<<20;??????//使用用外部觸發(fā)(SWSTART)!!! 必須使用一個事件來觸發(fā)
ADC1->CR2&=~(1<<11);???//右對齊 ?
ADC1->SQR1&=~(0XF<<20);
ADC1->SQR1|=0<<20;?????//1個轉(zhuǎn)換在規(guī)則序列中?也就是只轉(zhuǎn)換規(guī)則序列1? ???
//設(shè)置通道1的采樣時間
ADC1->SMPR2&=~(7<<3);??//通道1采樣時間清空 ??
? ADC1->SMPR2|=7<<3;?????//通道1??239.5周期提高采樣時間可以提高精確度 ?
ADC1->CR2|=1<<0; ???//開啟AD轉(zhuǎn)換器 ?
ADC1->CR2|=1<<3;???????//使能復(fù)位校準??
while(ADC1->CR2&1<<3);?//等待校準結(jié)束? ?
????//該位由軟件設(shè)置并由硬件清除。在校準寄存器被初始化后該位將被清除。? ?
ADC1->CR2|=1<<2;????????//開啟AD校準 ???
while(ADC1->CR2&1<<2);??//等待校準結(jié)束
//該位由軟件設(shè)置以開始校準,并在校準結(jié)束時由硬件清除??
}
//獲得ADC值
//ch:通道值?0~16
//返回值:轉(zhuǎn)換結(jié)果
u16?Get_Adc(u8?ch)???
{
//設(shè)置轉(zhuǎn)換序列 ?? ?
ADC1->SQR3&=0XFFFFFFE0;//規(guī)則序列1?通道ch
ADC1->SQR3|=ch; ?? ????
ADC1->CR2|=1<<22;???????//啟動規(guī)則轉(zhuǎn)換通道?
while(!(ADC1->SR&1<<1));//等待轉(zhuǎn)換結(jié)束 ? ???
return?ADC1->DR; //返回adc值
}
//獲取通道ch的轉(zhuǎn)換值,取times次然后平均?
//ch:通道編號
//times:獲取次數(shù)
//返回值:通道ch的times次轉(zhuǎn)換結(jié)果平均值
u16?Get_Adc_Average(u8?chu8?times)
{
u32?temp_val=0;
u8?t;
for(t=0;t {
temp_val+=Get_Adc(ch);
delay_ms(5);
}
return?temp_val/times;
}?
?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-08-12?17:34??STM32F103上位機\
?????目錄???????????0??2019-01-08?09:42??STM32F103上位機\HARDWARE\
?????目錄???????????0??2019-01-08?09:43??STM32F103上位機\HARDWARE\ADC\
?????文件????????2585??2014-03-09?11:36??STM32F103上位機\HARDWARE\ADC\adc.c
?????文件?????????794??2014-03-09?11:36??STM32F103上位機\HARDWARE\ADC\adc.h
?????目錄???????????0??2015-04-11?15:10??STM32F103上位機\HARDWARE\EXTI\
?????文件????????1617??2014-03-06?18:19??STM32F103上位機\HARDWARE\EXTI\exti.c
?????文件?????????667??2014-03-06?17:46??STM32F103上位機\HARDWARE\EXTI\exti.h
?????目錄???????????0??2019-01-17?15:51??STM32F103上位機\HARDWARE\HC05\
?????文件????????4554??2019-01-17?15:51??STM32F103上位機\HARDWARE\HC05\hc05.c
?????文件????????1020??2019-01-17?15:51??STM32F103上位機\HARDWARE\HC05\hc05.h
?????目錄???????????0??2019-01-17?15:51??STM32F103上位機\HARDWARE\KEY\
?????文件????????1779??2019-01-17?15:51??STM32F103上位機\HARDWARE\KEY\key.c
?????文件?????????879??2019-01-17?15:51??STM32F103上位機\HARDWARE\KEY\key.h
?????目錄???????????0??2019-01-17?15:54??STM32F103上位機\HARDWARE\LCD\
?????文件???????35016??2014-01-02?17:22??STM32F103上位機\HARDWARE\LCD\FONT.H
?????文件???????85309??2019-01-17?15:54??STM32F103上位機\HARDWARE\LCD\ILI93xx.c
?????文件????????8263??2015-04-25?17:38??STM32F103上位機\HARDWARE\LCD\LCD.h
?????目錄???????????0??2015-04-11?15:10??STM32F103上位機\HARDWARE\LED\
?????文件?????????953??2014-03-05?20:27??STM32F103上位機\HARDWARE\LED\led.c
?????文件?????????695??2014-03-05?20:27??STM32F103上位機\HARDWARE\LED\led.h
?????目錄???????????0??2015-04-11?15:10??STM32F103上位機\HARDWARE\OLED\
?????文件????????7275??2014-03-07?18:46??STM32F103上位機\HARDWARE\OLED\oled.c
?????文件????????1908??2014-03-07?18:18??STM32F103上位機\HARDWARE\OLED\oled.h
?????文件???????35017??2014-01-02?11:23??STM32F103上位機\HARDWARE\OLED\oledfont.h
?????目錄???????????0??2015-04-11?15:10??STM32F103上位機\HARDWARE\TIMER\
?????文件????????4184??2014-03-07?17:21??STM32F103上位機\HARDWARE\TIMER\timer.c
?????文件????????1014??2014-03-07?17:21??STM32F103上位機\HARDWARE\TIMER\timer.h
?????目錄???????????0??2015-04-11?15:10??STM32F103上位機\HARDWARE\USART2\
?????文件????????5083??2014-04-03?12:50??STM32F103上位機\HARDWARE\USART2\usart2.c
?????文件????????1251??2014-04-03?12:50??STM32F103上位機\HARDWARE\USART2\usart2.h
............此處省略215個文件信息
評論
共有 條評論