女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當前位置:首頁 > 單片機 > 單片機
[導讀] 在實際的項目開發(fā)過程中,常常遇到需要得到一段代碼的運行時間,通常的方法是用示波器來測量,這篇博文將用SysTick來實現(xiàn)精確測量程序運行的時間。STM32F4的內(nèi)核定時器SysTick是一個24位的定時器,需要

在實際的項目開發(fā)過程中,常常遇到需要得到一段代碼的運行時間,通常的方法是用示波器來測量,這篇博文將用SysTick來實現(xiàn)精確測量程序運行的時間。STM32F4的內(nèi)核定時器SysTick是一個24位的定時器,需要注意最大的測量時間。


1,開發(fā)環(huán)境

1,固件庫:STM32F4xx_DSP_StdPeriph_Lib_V1.8.0

2,編譯器:ARMCC V5.06

3,IDE:Keil uVision5

4,操作系統(tǒng):Windows 10 專業(yè)版


2,程序源碼

MeasureTime.h文件

  1. /**

  2. ******************************************************************************

  3. *@fileMeasureTime.h

  4. *@authorXinLi

  5. *@versionv1.0

  6. *@date24-October-2017

  7. *@briefMeasureprogramruntimemodule.

  8. ******************************************************************************

  9. *@attention

  10. *

  11. *

    Copyright©2017XinLi

  12. *

  13. *Thisprogramisfreesoftware:youcanredistributeitand/ormodify

  14. *itunderthetermsoftheGNUGeneralPublicLicenseaspublishedby

  15. *theFreeSoftwareFoundation,eitherversion3oftheLicense,or

  16. *(atyouroption)anylaterversion.

  17. *

  18. *Thisprogramisdistributedinthehopethatitwillbeuseful,

  19. *butWITHOUTANYWARRANTY;withouteventheimpliedwarrantyof

  20. *MERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.Seethe

  21. *GNUGeneralPublicLicenseformoredetails.

  22. *

  23. *YoushouldhavereceivedacopyoftheGNUGeneralPublicLicense

  24. *alongwiththisprogram.Ifnot,see.

  25. *

  26. ******************************************************************************

  27. */

  28. #ifndef__MEASURETIME_H

  29. #define__MEASURETIME_H

  30. #ifdef__cplusplus

  31. extern"C"{

  32. #endif

  33. /*Headerincludes-----------------------------------------------------------*/

  34. #include"stm32f4xx.h"

  35. /*Macrodefinitions---------------------------------------------------------*/

  36. /*Typedefinitions----------------------------------------------------------*/

  37. /*Variabledeclarations-----------------------------------------------------*/

  38. /*Variabledefinitions------------------------------------------------------*/

  39. /*Functiondeclarations-----------------------------------------------------*/

  40. /*Functiondefinitions------------------------------------------------------*/

  41. /**

  42. *@briefStartmeasuretime.

  43. *@paramNone.

  44. *@returnNone.

  45. */

  46. __STATIC_INLINEvoidMeasureTimeStart(void)

  47. {

  48. SysTick->CTRL|=SysTick_CLKSource_HCLK;/*SettheSysTickclocksource.*/

  49. SysTick->LOAD=0xFFFFFF;/*Timeload(SysTick->LOADis24bit).*/

  50. SysTick->VAL=0xFFFFFF;/*Emptythecountervalue.*/

  51. SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk;/*Startthecountdown.*/

  52. __nop();/*Waitingforamachinecycle.*/

  53. }

  54. /**

  55. *@briefStopmeasuretime.

  56. *@param[in]clock:Systemclockfrequency(unit:MHz).

  57. *@returnProgramruntime(unit:us).

  58. */

  59. __STATIC_INLINEdoubleMeasureTimeStop(uint32_tclock)

  60. {

  61. uint32_tcount=SysTick->VAL;/*Readthecountervalue.*/

  62. SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;/*Closecounter.*/

  63. doubletime=0.0;

  64. if(clock>0)

  65. {

  66. time=(double)(0xFFFFFF-count)/(double)clock;/*Calculateprogramruntime.*/

  67. }

  68. returntime;

  69. }

  70. #ifdef__cplusplus

  71. }

  72. #endif

  73. #endif/*__MEASURETIME_H*/


main.c文件

  1. /**

  2. ******************************************************************************

  3. *@filemain.c

  4. *@authorXinLi

  5. *@versionv1.0

  6. *@date24-October-2017

  7. *@briefMainprogrambody.

  8. ******************************************************************************

  9. *@attention

  10. *

  11. *

    Copyright©2017XinLi

  12. *

  13. *Thisprogramisfreesoftware:youcanredistributeitand/ormodify

  14. *itunderthetermsoftheGNUGeneralPublicLicenseaspublishedby

  15. *theFreeSoftwareFoundation,eitherversion3oftheLicense,or

  16. *(atyouroption)anylaterversion.

  17. *

  18. *Thisprogramisdistributedinthehopethatitwillbeuseful,

  19. *butWITHOUTANYWARRANTY;withouteventheimpliedwarrantyof

  20. *MERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.Seethe

  21. *GNUGeneralPublicLicenseformoredetails.

  22. *

  23. *YoushouldhavereceivedacopyoftheGNUGeneralPublicLicense

  24. *alongwiththisprogram.Ifnot,see.

  25. *

  26. ******************************************************************************

  27. */

  28. /*Headerincludes-----------------------------------------------------------*/

  29. #include"main.h"

  30. #include"MeasureTime.h"

  31. /*Macrodefinitions---------------------------------------------------------*/

  32. /*Typedefinitions----------------------------------------------------------*/

  33. /*Variabledeclarations-----------------------------------------------------*/

  34. /*Variabledefinitions------------------------------------------------------*/

  35. static__IOdoublerunTime=0.0;

  36. /*Functiondeclarations-----------------------------------------------------*/

  37. __STATIC_INLINEvoiddelay_1us(void);

  38. /*Functiondefinitions------------------------------------------------------*/

  39. /**

  40. *@briefMainprogram.

  41. *@paramNone.

  42. *@returnNone.

  43. */

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

在這篇文章中,小編將對PLC的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進對它的了解程度,和小編一起來閱讀以下內(nèi)容吧。

關(guān)鍵字: PLC 模塊化 程序

開關(guān)電源(SMPS)憑借高效、小型化的優(yōu)勢,廣泛應用于電子設(shè)備中。但開關(guān)電源在工作時,因高頻開關(guān)動作、元器件特性等因素,容易產(chǎn)生噪聲。這些噪聲不僅會影響自身性能,還可能干擾周邊電子設(shè)備,因此準確測量開關(guān)電源中的噪聲至關(guān)重...

關(guān)鍵字: 開關(guān)電源 噪聲 測量

高海拔地區(qū)通常指海拔 3000 米以上區(qū)域,其環(huán)境與平原地區(qū)差異顯著。最突出變化是大氣壓力和氧氣含量降低,海拔每升高 1000 米,大氣壓力約下降 12kPa,氧氣含量也相應減少。如青藏高原平均海拔超 4000 米,氧氣...

關(guān)鍵字: 氧氣 測量 高海拔地區(qū)

對程序進行優(yōu)化,通常是指優(yōu)化程序代碼或程序執(zhí)行速度。優(yōu)化代碼和優(yōu)化速度實際上是一個予盾的統(tǒng)一。一般是優(yōu)化了代碼的尺寸,就會帶來執(zhí)行時間的增加;如果優(yōu)化了程序的執(zhí)行速度,通常會帶來代碼增加的副作用。很難魚與熊掌兼得,只能在...

關(guān)鍵字: 單片機 程序

一個程序首先要保證正確性,在保證正確性的基礎(chǔ)上,性能也是一個重要的考量。要編寫高性能的程序,必須選擇合適的算法和數(shù)據(jù)結(jié)構(gòu)。

關(guān)鍵字: CPU 程序 緩存

渦輪流量計是一種廣泛用于測量液體和氣體流量的儀器,它基于渦輪葉片的旋轉(zhuǎn)來測量流體的速度并計算出流量。這種類型的流量計在工業(yè)、化工、石油、天然氣、水處理和許多其他領(lǐng)域都得到了廣泛的應用。然而,要確保渦輪流量計的準確性和可靠...

關(guān)鍵字: 渦輪流量計 渦輪葉片 測量

液位變送器是一種常見的工業(yè)自動化裝置,用于測量液體高度或容器中的液體體積。它廣泛應用于石油化工、食品加工、水處理等領(lǐng)域,在生產(chǎn)過程中起到重要的監(jiān)測和控制作用。本文將介紹液位變送器的基本原理、應用設(shè)計步驟以及注意事項,幫助...

關(guān)鍵字: 液位變送器 工業(yè)自動化 測量

仿真的概念其實使用非常廣,最終的含義就是使用可控的手段來模仿真實的情況。在嵌入式系統(tǒng)的設(shè)計中,仿真應用的范圍主要集中在對程序的仿真上。

關(guān)鍵字: 單片機 仿真器 程序
關(guān)閉