IO口翻转速度

2019-07-21 07:40发布

我设置时钟为72Mhz,然后翻转PA8引脚的电平,程序如:
while(1)
{
GPIOA->BSRR=1<<8;
GPIOA->BRR=1<<8;
}
但是实测出来的频率才不到4Mhz,我知道while在执行的时候会占用指令周期,但是按道理这个io口翻转速度可以达到18Mhz左右吧,可是现在这么小,为什么呢?
我设置io口速度为50Mhz。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
ST-FAE-SALE
1楼-- · 2019-07-22 13:24
 精彩回答 2  元偷偷看……
韦林宁
2楼-- · 2019-07-22 18:36
我的按照默认是时钟设置,使用while(1)循环
while(1)
{
LED0=0;
LED0=1;
         }
但是测量了一下引脚输出,频率只有3MHz,怎么楼上是4MHZ呢?一样的板子吧?
ST-FAE-SALE
3楼-- · 2019-07-23 00:23
不能用while,while占用时间太久。
mofeng81
4楼-- · 2019-07-23 02:38
不知楼主最后怎么解决的?我也遇到了相同的问题。
ST-FAE-SALE
5楼-- · 2019-07-23 07:20
回复【11楼】mofeng81:
---------------------------------
7楼说的很清楚了呀,优化级别开到最大,不要用while,反复高低。
DLM
6楼-- · 2019-07-23 08:12
 精彩回答 2  元偷偷看……

一周热门 更多>