91视频丝瓜-91视频完整版高清-91视频网-91视频网店-91视频网或将从此无大神-91视频网入口

您好,歡迎訪問上海現易電子元器件有限公司網站!

021-51870898
021-51870898   18019251567
4新聞資訊
您的位置: 首頁 ->  新聞資訊 -> 單片機

?STM32之ADC_3(內部通道)

文章出處:單片機 責任編輯:上海現易電子元器件有限公司 發表時間:2020-11-10

ADC的內部通道: 
 
STM32的ADC除了可以用外部通道來采集外部模擬電壓信號之外,還有兩個內部通道16和17。其中通道16是連接至芯片上的溫度傳感器,通道17是連接至內部電源模塊.(所以這兩個通道可以用來檢測STM32芯片d額溫度和電源狀態,就可以檢測芯片運行的狀態啦!)

溫度檢測實例: 
通道16是把內部溫度傳感器輸出的模擬電壓轉換成數字值,通過公式運算我們就可以得到溫度值.內部溫度傳感器支持的溫度范圍從 -40 至 125攝氏度.精度是比較差的,所以只適合檢測溫度的變化,并不適合做絕對的溫度檢測.(如果需要測量精確的溫度,可以使用一個外置的溫度傳感器)

main函數: 
/用于存放ADC1轉換的值/ 
extern __IO u16 ADC_ConvertedValue; 
/溫度值/ 
u16 Current_Temp;

int main(void) 

/* USART1 config 115200 8-N-1 */ 
USART1_Config(); 
Temp_ADC1_Init();

while (1)

{

Delay(0xffffee); // 延時


Current_Temp=(V25-ADC_ConvertedValue)/Avg_Slope+25;


printf("\r\n The current temperature= %3d ℃ \r\n,Current_Temp);



main函數里面配置好串口1以及ADC1的通道16后,ADC轉換的值就被DMA傳輸到ADC_ConvertedValue變量里面。然后就可以往串口不斷更新溫度數據了. 

**根據STM32內部溫度傳感器檢測溫度的計算公式: 

溫度 = {(V25 - Vsense)/Avg_Slope}+25** 

Vsense:通過ADC通道16檢測的ADC轉換值(變量)


V25:是25度時的ADC轉換值(常量)


Avg_Slope:是溫度與Vsense曲線的平均斜率(單位為 mV/ °C 或 μV/ °C)(常量)


Ps: 

其中V25以及Avg_Slope都是根據數據手冊定義好的宏(少了個#,好像會放大就不寫了) 

define V25 0x6EE 

define Avg_Slope 0x05


ADC初始化: 

void Temp_ADC1_Init(void) 

ADC1_GPIO_Config(); 

ADC1_Mode_Config(); 

DMA以及ADC的配置: 

static ADC1_Mode_Config(void) 

DMA_InitTypeDef DMA_InitStructure; 

ADC_InitTypeDef ADC_InitStructure; 

/這里是DMA的配置/ 

DMA_DeInit(DMA1_Channel1);


DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;//ADC1的地址    

DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_ConvertedValue;//內存地址  

DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;//外設為數據源

DMA_InitStructure.DMA_BufferSize = 1;//DMA緩存大小

DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//外設地址固定

DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;//內存地址固定

DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; //外設傳輸數據單位半字

DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; //內存傳輸數據單位半字

DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; //循環傳輸

DMA_InitStructure.DMA_Priority = DMA_Priority_High;//優先級設置為高

DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; //關閉內存到內存的傳輸

DMA_Init(DMA1_Channel1, &DMA_InitStructure); //填充DMA,配置為DMA1的通道11


DMA_Cmd(DMA1_Channel1, ENABLE); //使能通道11


/*這里是ADC的配置*/

ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//獨立的ADC模式

ADC_InitStructure.ADC_ScanConvMode = DISABLE ;//關閉掃描模式(掃描一般用于多通道采集)

ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;//開啟連續轉換模式(就是不停的進行ADC轉換)

ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //不使用外部觸發轉換

ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//采集的數據右對齊

ADC_InitStructure.ADC_NbrOfChannel = 1; //要轉換的通道數量是1個

ADC_Init(ADC1, &ADC_InitStructure);//填充ADC1

RCC_ADCCLKConfig(RCC_PCLK2_Div8); //設置ADC時鐘的分頻,為PCLK2的8分頻,就是9HZ 72/8 = 9

ADC_RegularChannelConfig(ADC1, ADC_Channel_16, 1, ADC_SampleTime_239Cycles5);//配置ADC1的通道16為239.5個采樣周期


ADC_TempSensorVrefintCmd(ENABLE);//使能溫度傳感器和內部參考電壓

/*這里是ADC的復位校準操作*/

ADC_DMACmd(ADC1, ENABLE);//使能ADC1的DMA

ADC_Cmd(ADC1, ENABLE);   //使能ADC1


ADC_ResetCalibration(ADC1);//復位ADC1校準寄存器

while(ADC_GetResetCalibrationStatus(ADC1)); //等待校準寄存器復位成功


ADC_StartCalibration(ADC1);//ADC1校準

while(ADC_GetCalibrationStatus(ADC1));//等待ADC1校準成功


ADC_SoftwareStartConvCmd(ADC1, ENABLE);//使用軟件觸發ADC轉換,因為沒有采用外部觸發



溫度檢測的ADC初始化和ADC采集外部數據時的差不多,只有以下兩條有改變: 

ADC_RegularChannelConfig(ADC1,ADC_Channel_16,1,ADC_SampleTime_239Cycles5) 

配置ADC通道16,把周期改為ADC_SampleTime_239Cycles5(239.5周期),這個周期是根據手冊推薦的內部溫度傳感器ADC轉換時間為17.1us,這里為28us.


ADC_TempSensorVrefintCmd(ENABLE); 

這是一個庫函數,功能是使能或關閉內部溫度傳感器.它是使用內部溫度傳感器時必須調用的,默認的溫度傳感器shi不開啟的,當然也就測量不到正確的溫度值.


上海現易電子元器件有限公司 版權所有 未經授權禁止復制或鏡像

CopyRight 2020-2025 www.urqm.cn All rights reserved   滬ICP備2020031792號

友情鏈接:

電話

易經理

18019251567

微信

易經理

易經理

頂部

咨詢
主站蜘蛛池模板: 久久精品中文字幕第一页 | 国产不卡视频一区二区三区 | 高清不卡毛片 | 国产精品三级在线观看 | 国产九九九九九九九A片 | 国产精品MP4 | 美国一级毛片免费看成人 | 久久99精品天天中文字幕 | 三A级做爰片免费观看春光乍泄 | 亚洲精品aaa | 日本欧美一区二区三区免费不卡 | 免费做A爰片久久毛片A片 | 久久久综合九色合综国产 | 国产精品免费一区二区三区四区 | 日本一卡二卡三卡四卡无卡免费播放 | 99久久精品免费看国产免费软件 | 久久精品午夜一区二区福利 | 黑人巨茎大战白人美女 | 中文字幕无码A片久久 | 日本免费网站 | 日日摸夜夜添夜夜添影院视频 | 毛片基地免费视频a | 欧美日本道免费一区二区三区 | 国产毛片精品一区二区色欲黄A片 | 在线免费观看亚洲视频 | 国产精品免费视频 | 青草韩国| 日本一卡二卡三卡四卡无卡免费播放 | 亚洲人妻av伦理 | 欧美亚洲偷图色综合 | 青青草一区 | 日韩中文视频 | 麻豆一区区三区四区产品麻豆 | 国产XXXXX精品AV青椒 | 性过程写得很黄很详细的小说 | 韩国黄色毛片 | 国产麻豆乱子伦午夜视频观看 | 无遮无挡在线看 | 工口里番全彩无肉码3D啪啪 | 国产一级免费在线观看 | 99久久无码一区人妻A片蜜桃 |