GD32W515x GPIO翻转速度怎么提升?
GPIO could toggle the I/O output level in single AHB cycle by writing 1 to the correspondingbit of GPIOx_TG register. The output signal frequency could up to the half of the AHB clock
参考手册中这么说,但实测下来GPIO翻转的速度只能到11MHz左右,这是怎么回事?难道是我理解错误? 顶 这个还真是没有太注意到。 这个硬件决定的。 翻转速度有什么要求的吗? 配置IO的翻转速度了。 可能是示波器跟不上速度吧。 翻转速度最大就是50Mhz吧。 你怎么测的?while循环然后一直翻转IO? 估计是测试方式有问题吧,你要看它从高到低用了多久的时间。 GPIO的速率不知道是指的速率,不一定是翻转速率哦。 GPIO的最大翻转速率受MCU内部设计决定了的 本帖最后由 AnkerSong 于 2023-1-17 10:42 编辑
GD的mcu,6个clk一条赋值指令,w515的180M主频,1s最多执行30M指令。gpio拉高拉低两条指令,极限反转速度应该是15M。你可以试着将寄存器操作叠在一起,不用while循环测试一下。加了while循环,一个反转就需要3条指令了,差不多10M。另外,拉低会比拉高操作快一些,可以注意一下
你用寄存器的方式试试 如果用库函数的话,属实速度会慢下来一些 按理来说,应该差不了这么多吧 你看看你的时钟配置呗,都是多少? 一般情况就跟库函数有关系,要是直接操作寄存器的话,会快很多 属实,速度不会太快,毕竟IO也有限制的 这个最好问问他家的技术原厂,估计能有好的办法能帮忙提提速?
页:
[1]
2