日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]本文分別通過操作寄存器和調(diào)用庫函數(shù)的方式,對比測試STM32讀寫IO時間。硬件環(huán)境主控芯片:STM32F103ZET6外部晶振:8MHZ系統(tǒng)主頻:72MHZ1.操作寄存器的方式讀取IO軟件在線調(diào)試界面示波器輸出波形分析:在while(1)中

本文分別通過操作寄存器和調(diào)用庫函數(shù)的方式,對比測試STM32讀寫IO時間。

硬件環(huán)境

主控芯片:STM32F103ZET6

外部晶振:8MHZ

系統(tǒng)主頻:72MHZ

1.操作寄存器的方式讀取IO

軟件在線調(diào)試界面

示波器輸出波形


分析:在while(1)中循環(huán)翻轉(zhuǎn)PA3輸出電平。

通過在線調(diào)試的方式,可以看出1條C語句:GPIOA -> BSRR = 1<<3;//PA3輸出高電平

對應3條匯編指令:MOVS r0,#0x08 ;把立即數(shù)0x08傳送給寄存器r0

LDRr1,[PC,#8] ;從地址(PC+8)處讀取一個字到寄存器r1

STRr0,[r1,#0x00] ;把r0中的低字節(jié)存儲到地址(r1+0)處

由于Cortex-M3的大部分匯編指令均為單周期指令,理論上PA3輸出高電平為3個時鐘周期,

即3*(1/72)us = 42ns,經(jīng)示波器實測輸出高電平時間約為:42ns左右。

注意:示波器實測輸出低電平時間明顯比輸出高電平時間長,原因每一次循環(huán)結(jié)束,都要進行新一次while循環(huán)判斷,即while(1)判斷也要浪費時間的,差不多8個指令周期左右。

2.調(diào)用庫函數(shù)的方式讀取IO

軟件在線調(diào)試界面


示波器輸出波形


分析:在while(1)中循環(huán)翻轉(zhuǎn)PA3輸出電平。

通過在線調(diào)試的方式,可以看出1條C語句:GPIO_SetBits(GPIOA , GPIO_Pin_3);//PA3 = 1

對應的匯編指令為:MOVSr1,#0x08

LDRr0,[pc,#12]

BL.WGPIO_SetBits(0x080002FE)

其中第3條匯編指令為跳轉(zhuǎn)指令,即跳轉(zhuǎn)到函數(shù)GPIO_SetBits()的地址處繼續(xù)執(zhí)行。

執(zhí)行GPIO_SetBits(GPIOA , GPIO_Pin_3);//PA3 = 1所用的時間通過示波器可以測出來。

從示波器輸出波形來看,波形周期為708ns,減去while(1)循環(huán)跳轉(zhuǎn)指令110ns,則通過調(diào)用庫函數(shù)輸出高低電平用時約為300ns,為21個時鐘周期,比直接操作寄存器多用時約260ns。


3.STM32中斷時間測試

使能滴答定時器Systick,配置每1us產(chǎn)生一次中斷,中斷服務函數(shù)為空,測試從產(chǎn)生中斷、保護現(xiàn)場、進入中斷服務函數(shù)、到恢復現(xiàn)場所用時間。

軟件在線調(diào)試界面


示波器輸出波形

由示波器輸出波形可以計算出保存現(xiàn)場、進入中斷服務函數(shù)、恢復現(xiàn)場的時間為(475-195)約280ns,約為20個時鐘周期。配置滴答定時器不同中斷周期,經(jīng)實測最小周期為1us時,即計數(shù)72個,能夠正常進入中斷,程序正常。若定時周期小于1us,則定時時間不準確,定時周期接近于1us,原因分析為定時時間太短,內(nèi)核來不及響應中斷。


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉