主页 > 互联网 > 内容页

CW32饭盒派开发板 测试IO速度_环球报道

2023-05-26 14:10:18 来源:华仔的编程随笔


(资料图片)

目的

测试不同情况下IO翻转的速度

测试环境

MDK5.38实验例程\\实验一 流水灯实验示波器:DS1054

测试代码

使用TOG进行测试:
int main(){uint32_t i;RCC_Configuration(); //时钟配置64MGPIO_Configuration();//LED初始化while(1){  PA08_TOG();}}

速率为4MHz:

使用直接写高BSRR/BRR
int main(){uint32_t i;RCC_Configuration(); //时钟配置64MGPIO_Configuration();//LED初始化while(1){PA08_SETHIGH();PA08_SETLOW();}}

所示频率为6.41MHz

我们看到上面的波形占空比好象不是50%,是因为跳转也需要点用时间,所以我修改了一下代码进行测试:
int main(){uint32_t i;RCC_Configuration(); //时钟配置64MGPIO_Configuration();//LED初始化loop:PA08_SETHIGH();PA08_SETLOW();PA08_SETHIGH();PA08_SETLOW();PA08_SETHIGH();PA08_SETLOW();PA08_SETHIGH();PA08_SETLOW();PA08_SETHIGH();PA08_SETLOW();PA08_SETHIGH();PA08_SETLOW();PA08_SETHIGH();PA08_SETLOW();PA08_SETHIGH();PA08_SETLOW();PA08_SETHIGH();PA08_SETLOW();PA08_SETHIGH();PA08_SETLOW();PA08_SETHIGH();PA08_SETLOW();PA08_SETHIGH();PA08_SETLOW();goto loop;}

测得波形如下:

从上图我们得知频率可以达到15.9MHz。

经查看数据手册,GPIO有两种速度模式一种高速,一种是低速,但是我配置高低速都是一样。

【总结】经测试,对GPIO进行了原子的操作,最高速度可以达到15.9MHz。对寄存器直接写BSRR、BRR,相比TOG速度还是要快很多。当于提供了TOG这个寄存器,对于需要翻转电平,还是非常方便的。审核编辑:汤梓红

标签:

上一篇:当前最新:28孔口琴音阶图是怎样排列的_28孔口琴音阶图
下一篇:最后一页