資源簡介
實現的功能包括用基于STM32的UCGUI的移植,驅動TFTLCD屏,測量溫度,濕度,PWM控制屏幕亮度,ADC測量讀取
代碼片段和文件信息
#include?“sys.h“
#include?“adc.h“
???
//初始化ADC
//這里我們僅以規則通道為例
//我們默認將開啟通道0~3 ???
void??Adc_Init(void)
{????
//先初始化IO口
? RCC->APB2ENR|=1<<2;????//使能PORTA口時鐘?
GPIOA->CRL&=0X0FFFFFFF;//PA0?1?2?3?anolog輸入
RCC->APB2ENR|=1<<4;????//使能PORTC口時鐘?
GPIOC->CRL&=0XFFFFFFF0;//PC0?
GPIOC->CRL|=0X00000003;
GPIOC->ODR|=1<<0;
//通道10/11設置 ?
RCC->APB2ENR|=1<<10;????//ADC2時鐘使能 ??
RCC->APB2RSTR|=1<<10;???//ADC2復位
RCC->APB2RSTR&=~(1<<10);//復位結束 ????
RCC->CFGR&=~(3<<14);???//分頻因子清零
//SYSCLK/DIV2=12M?ADC時鐘設置為12MADC最大時鐘不能超過14M!
//否則將導致ADC準確度下降!?
RCC->CFGR|=2<<14;?????? ?
ADC2->CR1&=0XF0FFFF;???//工作模式清零
ADC2->CR1|=0<<16;??????//獨立工作模式??
ADC2->CR1&=~(1<<8);????//非掃描模式 ??
ADC2->CR2&=~(1<<1);????//單次轉換模式
ADC2->CR2&=~(7<<17); ???
ADC2->CR2|=7<<17; ???//軟件控制轉換??
ADC2->CR2|=1<<20;??????//使用用外部觸發(SWSTART)!!! 必須使用一個事件來觸發
ADC2->CR2&=~(1<<11);???//右對齊 ?
ADC2->SQR1&=~(0XF<<20);
ADC2->SQR1&=0<<20;?????//1個轉換在規則序列中?也就是只轉換規則序列1? ???
//設置通道0~3的采樣時間
ADC2->SMPR2&=0XFF1FFFFF;//通道0123采樣時間清空 ??
ADC2->SMPR2|=7<<21;??????//通道3??239.5周期提高采樣時間可以提高精確度 ?
// ADC2->SMPR2|=7<<6;??????//通道2??239.5周期提高采樣時間可以提高精確度 ?
// ADC2->SMPR2|=7<<3;??????//通道1??239.5周期提高采樣時間可以提高精確度 ?
// ADC2->SMPR2|=7<<0;??????//通道0??239.5周期提高采樣時間可以提高精確度 ?
ADC2->CR2|=1<<0; ????//開啟AD轉換器 ?
ADC2->CR2|=1<<3;????????//使能復位校準??
while(ADC2->CR2&1<<3);??//等待校準結束? ?
????//該位由軟件設置并由硬件清除。在校準寄存器被初始化后該位將被清除。? ?
ADC2->CR2|=1<<2;????????//開啟AD校準 ???
while(ADC2->CR2&1<<2);??//等待校準結束
//該位由軟件設置以開始校準,并在校準結束時由硬件清除??
} ??
//獲得ADC值
//ch:通道值?0~3
u16?Get_Adc(u8?ch)???
{
//設置轉換序列 ?? ?
ADC2->SQR3&=0XFFFFFFE0;//規則序列1?通道ch
ADC2->SQR3|=ch; ?? ????
ADC2->CR2|=1<<22;???????//啟動規則轉換通道?
while(!(ADC2->SR&1<<1));//等待轉換結束 ? ???
return?ADC2->DR; //返回adc值
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-07-02?10:27??TFT_LCD?_?GUI-STM32F103VET6\
?????目錄???????????0??2014-07-11?13:59??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\
?????目錄???????????0??2014-07-02?11:28??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\ADC\
?????文件????????2168??2014-07-09?10:49??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\ADC\adc.c
?????文件?????????722??2014-07-02?13:11??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\ADC\adc.h
?????目錄???????????0??2014-07-11?10:29??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\AT24C08\
?????文件????????3365??2014-07-09?17:18??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\AT24C08\24cxx.c
?????文件????????1010??2014-07-11?11:19??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\AT24C08\24cxx.h
?????文件????????2303??2014-07-11?10:40??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\AT24C08\myiic.c
?????文件?????????895??2014-07-11?11:16??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\AT24C08\myiic.h
?????目錄???????????0??2014-07-02?14:38??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\DHT11\
?????文件????????1809??2014-07-11?11:02??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\DHT11\DHT11.c
?????文件?????????281??2014-07-02?16:26??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\DHT11\dht11.h
?????目錄???????????0??2014-07-11?12:14??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\EXTI\
?????文件????????2957??2014-07-11?13:34??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\EXTI\exti.c
?????文件?????????628??2014-07-10?14:48??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\EXTI\exti.h
?????目錄???????????0??2014-07-11?11:40??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\KEY\
?????文件????????1350??2014-07-11?12:10??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\KEY\key.c
?????文件?????????380??2014-07-11?12:00??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\KEY\key.h
?????目錄???????????0??2014-07-02?10:11??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\LCD\
?????文件???????16155??2010-06-21?11:18??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\LCD\FONT.H
?????文件???????39136??2014-07-09?11:12??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\LCD\ILI93XX.c
?????文件????????8805??2014-07-01?16:50??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\LCD\ILI93XX.h
?????目錄???????????0??2014-07-11?14:00??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\PWM\
?????文件?????????662??2014-07-11?14:36??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\PWM\pwm.c
?????文件?????????129??2014-07-11?14:27??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\PWM\pwm.h
?????目錄???????????0??2014-07-09?11:19??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\SLEEP\
?????文件??????????85??2014-07-09?11:22??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\SLEEP\sleep.c
?????文件??????????97??2014-07-09?11:26??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\SLEEP\sleep.h
?????目錄???????????0??2014-07-11?10:31??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\TIMER\
?????文件?????????901??2014-07-11?12:26??TFT_LCD?_?GUI-STM32F103VET6\HARDWARE\TIMER\timer.c
............此處省略3287個文件信息
評論
共有 條評論