搜索
查看: 1802|回复: 6

[讨论] 如何提高STM32 GPIO 输出速度?

[复制链接]

该用户从未签到

31

主题

66

帖子

3

蝴蝶豆

高级会员

最后登录
2020-12-16
发表于 2020-7-30 19:32:02 | 显示全部楼层 |阅读模式
由于应用需要,用GPIO输出高低电平产生脉冲,通过软件控制GPIO输出翻转。用的是STM32F412, APB2最高达到100M,  可实际GPIO输出最多只能达到10M 频率。 请问能继续提高GPIO输出速度吗? 能否达到20M?
谢谢回复。



回复

使用道具 举报

该用户从未签到

0

主题

3

帖子

0

蝴蝶豆

新手上路

最后登录
2020-8-5
发表于 2020-8-3 00:41:28 | 显示全部楼层
这个要求好奇葩,你真要这样,用逻辑门电路搭一个就完事儿了,还要STM32干嘛?
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

20

主题

621

帖子

152

蝴蝶豆

论坛元老

最后登录
2023-11-13
发表于 2020-7-30 22:23:03 | 显示全部楼层
你需要那么高的输出频率,是不能靠软件反转GPIO来做的,即便可以做到,MCU也忙到干不了多少其他事情了。合理的做法,就是用硬件把时钟分频到你需要的频率直接输出。

比如,某些脚位是可以输出时钟分频信号的,这个IC有没有,我不确定。
用定时器,是否可以做到那么高的频率,就要做一个出来,试一试。
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

734

帖子

3

蝴蝶豆

金牌会员

最后登录
2023-5-15
发表于 2020-7-31 08:13:21 | 显示全部楼层
你想输出作为时钟用吗?又没有用到MCO脚是这样吗?
回复 支持 反对

使用道具 举报

该用户从未签到

12

主题

1392

帖子

45

蝴蝶豆

金牌会员

最后登录
2021-8-25
发表于 2020-7-31 09:07:49 | 显示全部楼层
定时器PWM可以试一下
mark.png
回复 支持 反对

使用道具 举报

该用户从未签到

31

主题

66

帖子

3

蝴蝶豆

高级会员

最后登录
2020-12-16
 楼主| 发表于 2020-7-31 09:45:34 | 显示全部楼层
谢谢以上的回复。这个应用是一个GPIO 固定个数CLK输出,另外一个GPIO读取输入的。这样通过MCO,PWM还不合适,只能软件模拟。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2017-12-6 11:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    49

    主题

    3724

    帖子

    429

    蝴蝶豆

    论坛元老

    最后登录
    2021-8-7
    发表于 2020-7-31 11:10:43 | 显示全部楼层
    winamp123 发表于 2020-7-31 09:45
    谢谢以上的回复。这个应用是一个GPIO 固定个数CLK输出,另外一个GPIO读取输入的。这样通过MCO,PWM还不合适 ...

    可以考虑用DMA,DMA驱动IO是可以的。写过WS2812的程序,一串点60个灯。忘了用的是DMA驱动SPI,还是DMA驱动定时器了。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-5-13 14:20 , Processed in 0.177017 second(s), 41 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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