OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2769|回复: 1

STM32F407 I/O反转速度的简单测试

[复制链接]

13

主题

202

帖子

0

精华

高级会员

Rank: 4

积分
527
金钱
527
注册时间
2012-10-27
在线时间
65 小时
发表于 2019-9-16 18:33:39 | 显示全部楼层 |阅读模式
本帖最后由 arm51avr 于 2019-9-16 18:46 编辑

本测试非常简单,只希望能帮助大家。如有更优解,欢迎上传测试结果并简述I/O配置等测试方案。
使用固定I/O输出STM32内部时钟信号,可以接近手册和固件库最大值,但不在本帖讨论范围。

1、寄存器:反转速率:27.9MHz  ;while跳变处:18.8MHz。
2、位带   :反转速率:21.18MHz ;while跳变处 12.02MHz
3、库函数:反转速率:9.9MHz;while跳变处基本和平时一样

硬件环境:
开发板:探索者,STM32F407ZGT6,LED0(DS0);
示波器:Agilent DSOX1102G 200MHz 2GSa/s,探头打到 x10 档以增加带宽。

软件环境:
MDK5;
跑马灯实验;

scope_0.png scope_1.png scope_7.png
//反转速率:27.9MHz  ;while跳变处:18.8MHz。
while(1)
    {
        GPIOF->BSRRH=GPIO_Pin_9;
          GPIOF->BSRRL=GPIO_Pin_9;
        GPIOF->BSRRH=GPIO_Pin_9;
          GPIOF->BSRRL=GPIO_Pin_9;
        GPIOF->BSRRH=GPIO_Pin_9;
          GPIOF->BSRRL=GPIO_Pin_9;
        GPIOF->BSRRH=GPIO_Pin_9;
          GPIOF->BSRRL=GPIO_Pin_9;
        GPIOF->BSRRH=GPIO_Pin_9;
          GPIOF->BSRRL=GPIO_Pin_9;
        GPIOF->BSRRH=GPIO_Pin_9;
          GPIOF->BSRRL=GPIO_Pin_9;
        GPIOF->BSRRH=GPIO_Pin_9;
          GPIOF->BSRRL=GPIO_Pin_9;
        GPIOF->BSRRH=GPIO_Pin_9;
          GPIOF->BSRRL=GPIO_Pin_9;
        GPIOF->BSRRH=GPIO_Pin_9;
          GPIOF->BSRRL=GPIO_Pin_9;
        GPIOF->BSRRH=GPIO_Pin_9;
          GPIOF->BSRRL=GPIO_Pin_9;
    }


scope_2.png scope_3.png scope_4.png
//21.18MHz ;while跳变处 12.02MHz
    while(1)
    {
        LED0=0;        
           LED0=1;   
        LED0=0;        
          LED0=1;   
        LED0=0;        
           LED0=1;   
        LED0=0;        
           LED0=1;   
        LED0=0;        
           LED0=1;   
        LED0=0;        
           LED0=1;   
        LED0=0;        
           LED0=1;   
        LED0=0;        
           LED0=1;   
        LED0=0;        
           LED0=1;   
        LED0=0;        
           LED0=1;   
    }


scope_5.png scope_6.png
// 9.9MHz;while跳变处基本和平时一样
    while(1)
    {
        GPIO_ResetBits(GPIOF,GPIO_Pin_9);
        GPIO_SetBits(GPIOF,GPIO_Pin_9);     
        GPIO_ResetBits(GPIOF,GPIO_Pin_9);
        GPIO_SetBits(GPIOF,GPIO_Pin_9);     
        GPIO_ResetBits(GPIOF,GPIO_Pin_9);
        GPIO_SetBits(GPIOF,GPIO_Pin_9);     
        GPIO_ResetBits(GPIOF,GPIO_Pin_9);
        GPIO_SetBits(GPIOF,GPIO_Pin_9);     
        GPIO_ResetBits(GPIOF,GPIO_Pin_9);
        GPIO_SetBits(GPIOF,GPIO_Pin_9);     
        GPIO_ResetBits(GPIOF,GPIO_Pin_9);
        GPIO_SetBits(GPIOF,GPIO_Pin_9);     
        GPIO_ResetBits(GPIOF,GPIO_Pin_9);
        GPIO_SetBits(GPIOF,GPIO_Pin_9);     
        GPIO_ResetBits(GPIOF,GPIO_Pin_9);
        GPIO_SetBits(GPIOF,GPIO_Pin_9);     
        GPIO_ResetBits(GPIOF,GPIO_Pin_9);
        GPIO_SetBits(GPIOF,GPIO_Pin_9);     
        GPIO_ResetBits(GPIOF,GPIO_Pin_9);
        GPIO_SetBits(GPIOF,GPIO_Pin_9);     
    }
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10568
金钱
10568
注册时间
2017-2-18
在线时间
1913 小时
发表于 2019-9-16 18:44:39 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-16 11:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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