STM32使用TIM1触发,为什么不配置TIM1 ?

2019-03-23 17:47发布

还是老问题,

STM32F429的ADC,看例程迷糊得很,ADC配置成ADC_ExternalTrigConv_T1_CC1,这个应该是TIM1触的吧,为什么例程中不配置TIM1呢?
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
dontium
1楼-- · 2019-03-25 01:42
 精彩回答 2  元偷偷看……
dontium
2楼-- · 2019-03-25 02:22
cruelfox 发表于 2017-2-23 10:29
忽然觉得还是直接读写寄存器的好哇

支持!!

用HAL太别扭,什么都是很大一块程序,执行时间超长,代码超多。
cruelfox
3楼-- · 2019-03-25 06:05
看了一下你传的代码,里面

  /*##-5- Configure the ADC1 peripheral ######################################*/
  AdcHandle1.Instance          = ADCx;

  AdcHandle1.Init.ClockPrescaler = ADC_CLOCKPRESCALER_PCLK_DIV2;
  AdcHandle1.Init.Resolution = ADC_RESOLUTION_12B;
  AdcHandle1.Init.ScanConvMode = DISABLE;
  AdcHandle1.Init.ContinuousConvMode = ENABLE;
  AdcHandle1.Init.DiscontinuousConvMode = DISABLE;
  AdcHandle1.Init.NbrOfDiscConversion = 0;
  AdcHandle1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
  AdcHandle1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T1_CC1;
  AdcHandle1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
  AdcHandle1.Init.NbrOfConversion = 1;
  AdcHandle1.Init.DMAContinuousRequests = ENABLE;
  AdcHandle1.Init.EOCSelection = DISABLE;

对照手册的话,好象这样写并没有使用外部触发,也就是TIMER1都没用到,自然不配置了。
trigger.PNG

dontium
4楼-- · 2019-03-25 09:31
 精彩回答 2  元偷偷看……
huaiqiao
5楼-- · 2019-03-25 11:26
对不起,这几天有好多的屁事,一直没有从官网上,下载CubeF4的文件。今天下载下来一看。
回帖之前我没有看10楼的回复哦。
我的观点跟10lou的观点一样
AdcHandle3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
所以,后面你配置不配置tim,已经无关紧要了。所以这个你不用管。
还有我建议你用原子的阿波罗的429的相关文件去参考。因为他们已经出这个了,野火好像也出429了
damiaa
6楼-- · 2019-03-25 15:25
本帖最后由 damiaa 于 2017-2-28 17:00 编辑

SystemClock_Config 把时钟都配置好了。用是用了TIM1,只是用它做个时钟源,估计是默认的,应该配置也可以。

一周热门 更多>