日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

STM32----SysTick实现监控开机时长

發(fā)布時(shí)間:2025/3/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32----SysTick实现监控开机时长 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SysTick實(shí)現(xiàn)監(jiān)控開(kāi)機(jī)時(shí)長(zhǎng)

systick系統(tǒng)定時(shí)器,又叫滴答定時(shí)器。在我看來(lái)比TIM使用起來(lái)要簡(jiǎn)單。
在實(shí)現(xiàn)監(jiān)控開(kāi)機(jī)時(shí)長(zhǎng)的例子中:配置定時(shí)器以相同的時(shí)間間隔進(jìn)入中斷,在中斷不斷累加計(jì)數(shù)變量,然后利用計(jì)數(shù)變量和時(shí)間間隔計(jì)算出相應(yīng)的時(shí)長(zhǎng)。
首先是對(duì)SysTick的配置,主要配置其進(jìn)入中斷的時(shí)長(zhǎng),一般來(lái)說(shuō)SysTick使用的AHB時(shí)鐘,計(jì)數(shù)計(jì)數(shù)器加一的時(shí)間為1/72000000s.在SysTick_Config()函數(shù)中參數(shù)為進(jìn)入中斷的計(jì)數(shù)。配置好后,計(jì)數(shù)器中的數(shù)值即為配置的數(shù),每一個(gè)時(shí)鐘周期計(jì)數(shù)器中的數(shù)減一,當(dāng)計(jì)數(shù)器中的數(shù)為0時(shí)觸發(fā)中斷,進(jìn)入中斷服務(wù)函數(shù)。

void SysTick_Init(void) {if(SysTick_Config(SystemCoreClock/1000)){while(1);}SysTick->CTRL &=~SysTick_CTRL_ENABLE_Msk; }

SystemCoreclock的值為系統(tǒng)時(shí)鐘的值72MHz。對(duì)于配置函數(shù)SysTick_Config(),配置成功返回0,配置失敗返回1.
SysTick->CTRL表示SysTick的使能位。
在這里SysTick_Config()函數(shù)的參數(shù)為SystemCoreclock/1000,經(jīng)過(guò)計(jì)算可以知道進(jìn)入中斷一次的時(shí)間為1ms。
t = (1/72000000) * (SystemCoreclock/1000)
設(shè)置變量在中斷中統(tǒng)計(jì)進(jìn)入中斷的次數(shù),從而得到時(shí)間。

void SysTick_Handler(void) {Delay_Times++;count_1s++;if(count_1s == 1000){flag = 1;count_1s = 0;}else{flag = 0;} }

變量Delay_Times用來(lái)統(tǒng)計(jì)進(jìn)入中斷的次數(shù),變量count_1s和flag控制串口每隔1秒鐘向上位機(jī)打印一次。
主函數(shù):

int main(void){SysTick_Init();GPIO_Config();USART_Config();SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;//使能SysTickflag = 0;while(1){if(flag){secs = Delay_Times/1000;mins = secs/60;hours = mins/60;secs = secs - mins*60;mins = mins - hours*60;printf("the time is:%d:%d:%d\r\n",hours,mins,secs);}else{}} } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的STM32----SysTick实现监控开机时长的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。