久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1155|回復: 4
打印 上一主題 下一主題
收起左側

STM32單片機ADC使用TIM3 TRGO轉換

[復制鏈接]
跳轉到指定樓層
樓主
ID:1114858 發表于 2024-5-13 21:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
STM32 ADC使用TIM3 TRGO 轉換模式時為什么配置好了定時器和觸發通道ADC無法正常啟用,在程序中加一個軟件觸發就可以正常使用(ADC配置為單次轉換),關閉定時器后ADC轉換無法啟用,可以看出觸發的來源來自定時器的TRGO  ,為什么必須要加一個軟件觸發 ,麻煩大佬幫忙看下


#include "stm32f10x.h"                  // Device header


void ADCdma_Init( )
{
        RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOA,ENABLE);
        RCC_APB1PeriphClockCmd (RCC_APB1Periph_TIM3,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE );
        RCC_ADCCLKConfig (RCC_PCLK2_Div6);
        
        
        GPIO_InitTypeDef GPIO_InitStructure;
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;
        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 ;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOA,&GPIO_InitStructure);
        
        
        TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
        TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
        TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;
        TIM_TimeBaseInitStructure.TIM_Period=2-1;
        TIM_TimeBaseInitStructure.TIM_Prescaler=72-1;
        TIM_TimeBaseInitStructure.TIM_RepetitionCounter=0;
        TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);
        
        TIM_SelectOutputTrigger(TIM3,TIM_TRGOSource_Update);
        
        
        ADC_RegularChannelConfig(ADC1,ADC_Channel_0,1,ADC_SampleTime_55Cycles5);
        ADC_InitTypeDef ADC_InitStructure;
        ADC_InitStructure.ADC_ContinuousConvMode=DISABLE ;
        ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;
        ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_T3_TRGO;
        ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;
        ADC_InitStructure.ADC_NbrOfChannel=1;
        ADC_InitStructure.ADC_ScanConvMode=DISABLE ;
        ADC_Init(ADC1,&ADC_InitStructure);
        

        ADC_Cmd(ADC1,ENABLE );
        TIM_Cmd(TIM3,ENABLE );
        ADC_ResetCalibration(ADC1);
        while(ADC_GetResetCalibrationStatus(ADC1)==SET );
        ADC_StartCalibration(ADC1);
        while(ADC_GetCalibrationStatus(ADC1)==RESET);
        
        
}



#include "stm32f10x.h"                  // Device header
#include "ADCdma.h"
#include "OLED.h"

int main(void)
{
        uint16_t ADC_Date1[4]={0};
        OLED_Init();
        ADCdma_Init();
        ADC_SoftwareStartConvCmd(ADC1,ENABLE );//  必須加這條才可以正常使用
        while(1)
        {

                OLED_ShowNum(1,1,ADC_GetConversionValue(ADC1),5);
               
        }
      
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:421260 發表于 2024-5-14 08:04 | 只看該作者
ADC_SoftwareStartConvCmd(ADC1,ENABLE );//使能指定的ADC通道。
回復

使用道具 舉報

板凳
ID:421260 發表于 2024-5-14 08:07 | 只看該作者
使能指定的ADC的軟件轉換啟動功能
回復

使用道具 舉報

地板
ID:1114858 發表于 2024-5-14 16:30 來自手機 | 只看該作者
szqinyi 發表于 2024-5-14 08:04
ADC_SoftwareStartConvCmd(ADC1,ENABLE );//使能指定的ADC通道。

這個函數不是使能軟件開始的嗎?跟硬件有什么關系
回復

使用道具 舉報

5#
ID:1114858 發表于 2024-5-14 16:32 來自手機 | 只看該作者
szqinyi 發表于 2024-5-14 08:07
使能指定的ADC的軟件轉換啟動功能

是的,可以不使用這句,需要用函數開啟ADC外部觸發就可以不使用開始軟件轉換函數。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区三区在线看 | 欧美午夜精品 | 日日夜夜天天久久 | av片在线观看 | 欧美综合一区二区 | 国产精品视频中文字幕 | www.99久久.com| 丁香婷婷综合激情五月色 | 日韩a v在线免费观看 | 亚洲欧洲小视频 | 日韩免费在线 | 日日摸夜夜添夜夜添特色大片 | 99精品久久久久久久 | 午夜爽爽爽男女免费观看 | 6996成人影院网在线播放 | 精品中文字幕在线 | 亚洲 欧美 日韩在线 | 91麻豆精品国产91久久久久久 | 风间由美一区二区三区在线观看 | 日韩成人av在线播放 | 人人操日日干 | 国产一区二区在线免费观看 | 欧美亚洲一区二区三区 | 精品一区二区三区在线观看国产 | 免费看av大片 | 一区二区av | www国产成人免费观看视频,深夜成人网 | 99re视频这里只有精品 | 色综合网站 | 91xxx在线观看 | 欧美 日韩 国产 成人 在线 91 | 亚洲第一免费播放区 | 欧美一区二区三区 | 一级黄色播放 | 成人性生交a做片 | 欧美日韩在线精品 | 毛片com| 亚洲第一天堂无码专区 | 亚洲一区二区不卡在线观看 | 色吧久久| 久久久久久久国产精品视频 |