目的
測試不同情況下IO翻轉(zhuǎn)的速度
測試環(huán)境
- MDK5.38
- 實(shí)驗(yàn)例程實(shí)驗(yàn)一 流水燈實(shí)驗(yàn)
- 示波器:DS1054
測試代碼
- 使用TOG進(jìn)行測試:
int main()
{
uint32_t i;
RCC_Configuration(); //時鐘配置64M
GPIO_Configuration();//LED初始化
while(1)
{
PA08_TOG();
}
}
速率為4MHz:
- 使用直接寫高BSRR/BRR
int main()
{
uint32_t i;
RCC_Configuration(); //時鐘配置64M
GPIO_Configuration();//LED初始化
while(1)
{
PA08_SETHIGH();
PA08_SETLOW();
}
}
所示頻率為6.41MHz
- 我們看到上面的波形占空比好象不是50%,是因?yàn)樘D(zhuǎn)也需要點(diǎn)用時間,所以我修改了一下代碼進(jìn)行測試:
int main()
{
uint32_t i;
RCC_Configuration(); //時鐘配置64M
GPIO_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;
}
測得波形如下:
從上圖我們得知頻率可以達(dá)到15.9MHz。
- 經(jīng)查看數(shù)據(jù)手冊,GPIO有兩種速度模式一種高速,一種是低速,但是我配置高低速都是一樣。
【總結(jié)】經(jīng)測試,對GPIO進(jìn)行了原子的操作,最高速度可以達(dá)到15.9MHz。對寄存器直接寫B(tài)SRR、BRR,相比TOG速度還是要快很多。當(dāng)于提供了TOG這個寄存器,對于需要翻轉(zhuǎn)電平,還是非常方便的。
審核編輯:湯梓紅
-
測試
+關(guān)注
關(guān)注
8文章
5469瀏覽量
127436 -
示波器
+關(guān)注
關(guān)注
113文章
6342瀏覽量
186605 -
流水燈
+關(guān)注
關(guān)注
21文章
433瀏覽量
59957 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5210瀏覽量
99120 -
GPIO
+關(guān)注
關(guān)注
16文章
1223瀏覽量
52744 -
CW32
+關(guān)注
關(guān)注
1文章
220瀏覽量
816 -
武漢芯源
+關(guān)注
關(guān)注
1文章
66瀏覽量
329
發(fā)布評論請先 登錄
相關(guān)推薦
評論