久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

STM32中的tic與toc,用SysTick統計代碼段執行時間

作者:劉蕊飛   來源:本站原創   點擊數:  更新時間:2014年03月02日   【字體:

STM32中的systick一共有4個寄存器,名稱和地址分別是:

SysTick_CTRL,        0xE000E010  --  
控制寄存器
SysTICK_LOAD,     0xE000E014  --  
重載寄存器
SysTick_VAL,        0xE000E018  --  
當前值寄存器
SysTick_CALRB,   0xE000E01C  --   
校準值寄存器

首先看SysTick->CTRL控制寄存器:寄存器內有4個位具有意義




0位:ENABLE,Systick 使能位  0:關閉Systick功能;1:開啟Systick功能)
1位:TICKINT,Systick 中斷使能位    0:關閉Systick中斷;1:開啟Systick中斷)
2位:CLKSOURCESystick時鐘源選擇  0:使用HCLK/8 作為Systick時鐘;1:使用HCLK作為Systick時鐘)
16位:COUNTFLAG,Systick計數比較標志,如果在上次讀取本寄存器后,SysTick 已經數到了0,則該位為1。如果讀取該位,該位將自動清零

SysTick_LOAD  
重載寄存器: 




 

SysTick_VAL
當前值寄存器: 


也是個24位的寄存器,讀取時返回當前倒計數的值;寫它則使之清零,同時還會清除在SysTick 控制及狀態寄存器中的COUNTFLAG 標志。


SysTick_CALRB  
校準值寄存器: 


這個寄存器好像目前的水平我還用不到,大體意思明白點,把英文說明放這吧:
31 NOREF 1=沒有外部參考時鐘(STCLK 不可用)0=外部參考時鐘可用
30 SKEW1=校準值不是準確的1ms 0=校準值是準確的1ms
[23:0] Calibration value
Indicates the calibration value when the SysTick counter runs on HCLK max/8 as external clock. The value is product dependent, please refer to the Product Reference Manual, SysTick Calibration Value section. When HCLK is programmed at the maximum frequency, the SysTick period is 1ms. If calibration information is not known, calculate the calibration value required from the frequency of the processor clock or external clock.

類似matlab里的tic與toc函數,用來統計程序代碼執行需要的時間:
uint16_t OverFlowTimes=0;

void tic(void)                            //程序開始計時
{
SysTick->CTRL |= (1<<2);   //時鐘選擇,HCLK
SysTick->CTRL |= (1<<1);   //中斷使能
SysTick->VAL=0X00;            //當前數值寄存器清零,并清除溢出標志位
SysTick->LOAD=0XFFFFFF;     //計數器賦初值
SysTick->CTRL |= (1<<0);     //開啟計數器
}

void toc(void)                            //結束計時
{
float ElaspTime;
uint32_t ClkNum;
SysTick->CTRL &= ~(1<<0); //關閉計數器
ClkNum=SysTick->VAL; //讀取計數器的值
ElaspTime=(OverFlowTimes*((float)0xffffff/SystemCoreClock)+(float)(0xffffff-ClkNum)/SystemCoreClock); //計算時間
OverFlowTimes=0;
printf("\r\nEscaple time is %f\r\n",ElaspTime);

}
/*溢出的次數*/
void SysTick_Handler(void)
{
OverFlowTimes++;
}


 

關閉窗口

相關文章

主站蜘蛛池模板: 久久综合av | 欧美中文字幕一区二区三区亚洲 | 亚洲国产二区 | 欧美一级在线观看 | 99精品久久| 日韩中文字幕一区二区 | 欧美精品片 | 精品国产一区二区久久 | 国产福利一区二区 | 午夜99 | 蜜桃视频一区二区三区 | 夜夜操av| 毛片毛片毛片毛片毛片 | 日韩黄色小视频 | 亚洲综合视频一区 | 欧美精品片 | 亚洲视频www | 国产免费一区二区 | 免费精品视频一区 | 国产乱码精品一区二三赶尸艳谈 | 手机日韩 | 中文字幕的av | 精品一区在线免费观看 | 亚洲看片网站 | 亚洲三级在线 | 久久不卡区 | 婷婷91 | 亚洲国产二区 | 国产福利资源在线 | 日本三级全黄三级a | 日韩一级黄色毛片 | 亚洲一区久久久 | 久久精品久久久久久 | 国产日韩欧美二区 | 欧美日韩在线一区二区三区 | 国产精品成人一区二区三区 | 久久精品高清视频 | 狠狠躁夜夜躁人人爽天天高潮 | 一区二区三区高清 | 91香蕉视频在线观看 | 欧美在线一区二区视频 |