社区导航

 
查看: 598|回复: 13

[求助] STM32使用TIM1触发,为什么不配置TIM1 ?

[复制链接]

1万

TA的帖子

34

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-2-22 21:33:13 | 显示全部楼层 |阅读模式
还是老问题,

STM32F429的ADC,看例程迷糊得很,ADC配置成ADC_ExternalTrigConv_T1_CC1,这个应该是TIM1触的吧,为什么例程中不配置TIM1呢?
此帖出自stm32/stm8论坛

回复

使用道具 举报

3686

TA的帖子

8

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

测评达人

发表于 2017-2-22 22:12:50 | 显示全部楼层
能把例程丢上来么?

点评

这是它的例程,库没有传  详情 回复 发表于 2017-2-23 00:29

回复 支持 反对

使用道具 举报

1万

TA的帖子

34

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2017-2-23 00:29:11 | 显示全部楼层
huaiqiao 发表于 2017-2-22 22:12
能把例程丢上来么?

ADC_TripleModeInterleaved.rar (89.83 KB, 下载次数: 31)

回复 支持 反对

使用道具 举报

9893

TA的帖子

15

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-2-23 09:05:49 | 显示全部楼层
不可能不配置的,一定是在一个不齐眼的地方配的

点评

应该是配置的,我也一直在找TIM1的配置,因为想改变一下ADC的间隔。可是,一直没有找到。 例程是在ST下载的,如果我下载有错,你可以直接下载下来看看是怎么回事。  详情 回复 发表于 2017-2-23 10:57
http://shop34182318.taobao.com/

回复 支持 反对

使用道具 举报

616

TA的帖子

0

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

发表于 2017-2-23 10:29:14 | 显示全部楼层
忽然觉得还是直接读写寄存器的好哇

点评

支持!! 用HAL太别扭,什么都是很大一块程序,执行时间超长,代码超多。  详情 回复 发表于 2017-2-23 10:59
是自动代码  详情 回复 发表于 2017-2-23 10:52

回复 支持 反对

使用道具 举报

2779

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-2-23 10:52:10 | 显示全部楼层
是哈,没看到,最起码时钟要开啊,奇怪

回复 支持 反对

使用道具 举报

2779

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-2-23 10:52:49 | 显示全部楼层
cruelfox 发表于 2017-2-23 10:29
忽然觉得还是直接读写寄存器的好哇

是自动代码

回复 支持 反对

使用道具 举报

1万

TA的帖子

34

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2017-2-23 10:57:20 | 显示全部楼层
ddllxxrr 发表于 2017-2-23 09:05
不可能不配置的,一定是在一个不齐眼的地方配的

应该是配置的,我也一直在找TIM1的配置,因为想改变一下ADC的间隔。可是,一直没有找到。

例程是在ST下载的,如果我下载有错,你可以直接下载下来看看是怎么回事。

回复 支持 反对

使用道具 举报

1万

TA的帖子

34

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2017-2-23 10:59:36 | 显示全部楼层
cruelfox 发表于 2017-2-23 10:29
忽然觉得还是直接读写寄存器的好哇

支持!!

用HAL太别扭,什么都是很大一块程序,执行时间超长,代码超多。

回复 支持 反对

使用道具 举报

616

TA的帖子

0

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

发表于 2017-2-23 12:53:27 | 显示全部楼层
看了一下你传的代码,里面

  /*##-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

点评

可能是这个原因吧!  详情 回复 发表于 2017-2-23 13:37

评分

1

查看全部评分


回复 支持 反对

使用道具 举报

1万

TA的帖子

34

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2017-2-23 13:37:01 | 显示全部楼层
cruelfox 发表于 2017-2-23 12:53
看了一下你传的代码,里面

  /*##-5- Configure the ADC1 peripheral ############################### ...

可能是这个原因吧!

回复 支持 反对

使用道具 举报

3686

TA的帖子

8

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

测评达人

发表于 2017-2-28 10:11:54 | 显示全部楼层
对不起,这几天有好多的屁事,一直没有从官网上,下载CubeF4的文件。今天下载下来一看。
回帖之前我没有看10楼的回复哦。
我的观点跟10lou的观点一样
AdcHandle3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
所以,后面你配置不配置tim,已经无关紧要了。所以这个你不用管。
还有我建议你用原子的阿波罗的429的相关文件去参考。因为他们已经出这个了,野火好像也出429了

回复 支持 反对

使用道具 举报

2258

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2017-2-28 16:59:06 | 显示全部楼层
本帖最后由 damiaa 于 2017-2-28 17:00 编辑

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

点评

DEBUG下,TIM1的所有寄存器都是0,未初始化。  详情 回复 发表于 2017-2-28 21:17

回复 支持 反对

使用道具 举报

1万

TA的帖子

34

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2017-2-28 21:17:27 | 显示全部楼层
damiaa 发表于 2017-2-28 16:59
SystemClock_Config 把时钟都配置好了。用是用了TIM1,只是用它做个时钟源,估计是默认的,应该配置也可以 ...

DEBUG下,TIM1的所有寄存器都是0,未初始化。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2017-7-27 14:55 , Processed in 0.457222 second(s), 16 queries , Redis On.

快速回复 返回顶部 返回列表