日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年07月19日(星期六)

2018年07月19日 | STM32——系統(tǒng)滴答定時(shí)器

發(fā)布者:電子創(chuàng)新者 來(lái)源: eefocus關(guān)鍵字:STM32  系統(tǒng)滴答定時(shí)器 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

一、SysTick【內(nèi)核中】

【風(fēng)格:先描述一下庫(kù)對(duì)寄存器的封裝,再舉例實(shí)現(xiàn)某些功能】

        SysTick定時(shí)器被捆綁在NVIC中,用于產(chǎn)生SysTick異常(異常號(hào): 15)。在以前,操作系統(tǒng)還有所有使用了時(shí)基的系統(tǒng),都必須一個(gè)硬件定時(shí)器來(lái)產(chǎn)生需要的“滴答”中斷,作為整個(gè)系統(tǒng)的時(shí)基。滴答中斷對(duì)操作系統(tǒng)尤其重要。例如,操作系統(tǒng)可以為多個(gè)任務(wù)許以不同數(shù)目的時(shí)間片,確保沒(méi)有一個(gè)任務(wù)能霸占系統(tǒng);或者把每個(gè)定時(shí)器周期的某個(gè)時(shí)間范圍賜予特定的任務(wù)等,還有操作系統(tǒng)提供的各種定時(shí)功能,都與這個(gè)滴答定時(shí)器有關(guān)。因此,需要一個(gè)定時(shí)器來(lái)產(chǎn)生周期性的中斷,而且最好還讓用戶程序不能隨意訪問(wèn)它的寄存器,以維持操作系統(tǒng)“心跳”的節(jié)律。
        Cortex-M3處理器內(nèi)部包含了一個(gè)簡(jiǎn)單的定時(shí)器。因?yàn)樗械腃M3芯片都帶有這個(gè)定時(shí)器,軟件在不同 CM3器件間的移植工作就得以化簡(jiǎn)。該定時(shí)器的時(shí)鐘源可以是內(nèi)部時(shí)鐘( FCLK, CM3上的自由運(yùn)行時(shí)鐘),或者是外部時(shí)鐘(CM3處理器上的STCLK信號(hào))。不過(guò), STCLK的具體來(lái)源則由芯片設(shè)計(jì)者決定,因此不同產(chǎn)品之間的時(shí)鐘頻率可能會(huì)大不相同。因此,需要檢視芯片的器件手冊(cè)來(lái)決定選擇什么作為時(shí)鐘源。SysTick定時(shí)器能產(chǎn)生中斷, CM3為它專門開(kāi)出一個(gè)異常類型,并且在向量表中有它的一席之
地。它使操作系統(tǒng)和其它系統(tǒng)軟件在CM3器件間的移植變得簡(jiǎn)單多了,因?yàn)樵谒蠧M3產(chǎn)品間,SysTick的處理方式都是相同的。

 

2、工作流程

        SysTick 是一個(gè) 24 位的定時(shí)器, 即一次最多可以計(jì)數(shù) 224 個(gè)時(shí)鐘脈沖,這 個(gè)脈沖計(jì)數(shù)值被保存到 當(dāng)前計(jì)數(shù)值寄存器 STK_VAL中,只能向下計(jì)數(shù),每接收到一個(gè)時(shí)鐘脈沖 STK_VAL 的值就向下減1,直至 0,當(dāng) STK_VAL 的值被減至 0 時(shí),由硬件自動(dòng)把重載寄存器STK_LOAD中保存的數(shù)據(jù)加載到 STK_VAL,重新向下計(jì)數(shù)。當(dāng) STK_VAL 的值被計(jì)數(shù)至 0 時(shí),觸發(fā)異常,就可以在中斷服務(wù)函 數(shù)中處理定時(shí)事件了。

三、10us定時(shí)器


所謂的定時(shí)器中斷就是指定時(shí)多長(zhǎng)時(shí)間中斷觸發(fā)一次,此例中10us產(chǎn)生一次中斷。


#include "SysTick.h"

 

static __IO u32 delay_time;

 

void SysTickInit(void)

{

  /* SystemFrequency / 1000    1ms中斷一次

   * SystemFrequency / 100000  10us中斷一次

   * SystemFrequency / 1000000 1us中斷一次

   */

  /* SysTick_Config()內(nèi)核層core_cm3.h 中

  這個(gè)函數(shù)啟動(dòng)了 SysTick timer;并把它配置為計(jì)數(shù)至 0 時(shí)引起中斷;輸入的參數(shù) ticks 為兩個(gè)中斷之間的脈沖數(shù),

  即相隔ticks 個(gè)時(shí)鐘周期會(huì)引起一次中斷;配置 SysTick 成功時(shí)返回 0,出錯(cuò)進(jìn)返回 1。

  */

  if (SysTick_Config(SystemCoreClock / 100000))

  {

    while (1);

  }

  // 關(guān)閉滴答定時(shí)器

  SysTick->CTRL &= ~ SysTick_CTRL_ENABLE_Msk;

}

 

// 所以總的延時(shí)時(shí)間 T 延時(shí)= T 中斷周期 * time

void DelayUs(__IO u32 time)

{

  delay_time = time;

 

  // 使能滴答定時(shí)器

  SysTick->CTRL |=  SysTick_CTRL_ENABLE_Msk;

 

  while(count != 0);

}

 

//在 SysTick 中斷函數(shù) SysTick_Handler()調(diào)用

void SysTickInterrupt(void)

{

  if (delay_time != 0x00)

  {

    delay_time--;

  }

}

 

// 中斷程序在 stm32f10x_it.c 中實(shí)現(xiàn):

void SysTick_Handler(void)

{

   SysTickInterrupt();

}


關(guān)鍵字:STM32  系統(tǒng)滴答定時(shí)器 引用地址:STM32——系統(tǒng)滴答定時(shí)器

上一篇:在stm32的freeRTOS上進(jìn)行微秒級(jí)延時(shí)
下一篇:STM32CubeMX之定時(shí)器控制微秒延時(shí)詳解

推薦閱讀

2018年俄羅斯世界杯決賽在莫斯科盧日尼基球場(chǎng)打響,“高盧雄雞”法國(guó)隊(duì)對(duì)陣“格子軍團(tuán)”克羅地亞。最終,法國(guó)隊(duì)4:2戰(zhàn)勝克羅地亞,“高盧雄雞”時(shí)隔20年再次捧起大力神杯。在為法國(guó)隊(duì)獲勝而歡呼雀躍的同時(shí),很多人第一時(shí)間也想到了“法國(guó)隊(duì)奪冠退全款”的華帝。?俄羅斯世界杯一役,華帝秒變“預(yù)言帝”,押寶法國(guó)直接送其登上冠軍頭條,自身也因別具看點(diǎn)的...
亞馬遜日前在MARS人工智能大會(huì)上最新發(fā)布的倉(cāng)庫(kù)機(jī)器人Pegasus,該機(jī)器人已正式加入亞馬遜Kiva機(jī)器人行列,在丹佛的亞馬遜分揀中心幫助工人搬運(yùn)包裹。Pegasus是一種新型包裹分揀機(jī)器人,外觀上看,Pegasus機(jī)器人十分類似亞馬遜既有的Kiva機(jī)器人,外觀還是橙色不變,2英尺高,3英尺寬,約相當(dāng)于一個(gè)大手提箱的大小。 Pegasus機(jī)器人更像是對(duì)原有Kiva機(jī)器人的...
在這一部分中我們將會(huì)初步了解到中斷的概念及其作用, 我們會(huì)嘗試使用計(jì)時(shí)器中斷和 I/O 中斷操作 LED 燈,讓我們開(kāi)始吧!什么是中斷?我們可以將它理解為一個(gè)約定的信號(hào),來(lái)告知單片 機(jī)特定的事件發(fā)生了,引起程序從正常運(yùn)行的主函數(shù)中斷開(kāi),轉(zhuǎn)而 執(zhí)行中斷處理程序,處理特定的事件。中斷是一個(gè)非常重要的概念,它可以讓處理器免于執(zhí)行冗余的輪 詢操作等待...
引言筆者接觸嵌入式領(lǐng)域軟件開(kāi)發(fā)已近五年,幾乎用的都是 ARM Cortex M 內(nèi)核系列的微控制器。在這五年期間,感謝C語(yǔ)言編譯器的存在,讓我不用接觸匯編即可進(jìn)行開(kāi)發(fā),但是彷佛也錯(cuò)過(guò)了一些風(fēng)景,沒(méi)有領(lǐng)域到編譯器之美和CPU之美,所以決定周末無(wú)聊的休息時(shí)間通過(guò)尋找資料、動(dòng)手實(shí)驗(yàn)、得出結(jié)論的方法來(lái)探索 ARM CPU 架構(gòu)的美妙,以及C語(yǔ)言編譯器的奧秘...

史海拾趣

問(wèn)答坊 | AI 解惑

小且精彩的迷你本:採(cǎi)用NVIDIA Tegra 600MHz處理器 Mobinnova展示「Elan」Netbook

Mobinnova 「 Elan 」 Netbook 外觀設(shè)計(jì)時(shí)尚 支援 HDMI 、 DVI 及 D-Sub 輸出 可升高機(jī)身設(shè)計(jì)令使用更方便       內(nèi)建 Firefox 瀏覽器使用與一般 PC 無(wú)異     支援 720p HD 硬體解碼 NVIDIA 上週五邀 ...…

查看全部問(wèn)答∨

09電賽論文格式

本帖最后由 paulhyde 于 2014-9-15 09:48 編輯 09電賽論文格式  …

查看全部問(wèn)答∨

上拉電阻和下拉電阻的選擇

上拉電阻和下拉電阻的選擇應(yīng)結(jié)合開(kāi)關(guān)管特性和下級(jí)電路的輸入特性進(jìn)行設(shè)定,主要需要考慮以下幾個(gè)因素:1. 驅(qū)動(dòng)能力與功耗的平衡。以上拉電阻為例,一般地說(shuō),上拉電阻越小,驅(qū)動(dòng)能力越強(qiáng),但功耗越大,設(shè)計(jì)是應(yīng)注意兩者之間的均衡。2. 下級(jí)電路的 ...…

查看全部問(wèn)答∨

wince下socket編程問(wèn)題請(qǐng)教

問(wèn)題一:       如下是服務(wù)器端的部分程序,accept成功后,客戶端給服務(wù)器端發(fā)送兩次消息,分別為\"01\",\"02\".      發(fā)現(xiàn):如果把szText[]的大小改為3,則只能成功接受一次數(shù)據(jù),改成16就能接受兩次。 ...…

查看全部問(wèn)答∨

初學(xué)Windows驅(qū)動(dòng)開(kāi)發(fā), 請(qǐng)推薦些資料和書籍, 謝謝!

初學(xué)Windows驅(qū)動(dòng)開(kāi)發(fā), 主要是做網(wǎng)絡(luò)方面的, 比如數(shù)據(jù)報(bào)的抓包、發(fā)包之類。 請(qǐng)推薦些資料和書籍, 謝謝!…

查看全部問(wèn)答∨

驅(qū)動(dòng)中等待多個(gè)事件的問(wèn)題

各位好~ 有個(gè)問(wèn)題想跟大家討論下: 在CE下,驅(qū)動(dòng)中能否使用WaitForMultipleObjects來(lái)等待多個(gè)中斷事件? 前些天記得有個(gè)帖子說(shuō)過(guò),驅(qū)動(dòng)中不能用WaitForMultipleObjects來(lái)等待多個(gè)事件,實(shí)際上我也試了下,沒(méi)有成功,情況是這樣的: 1.用兩個(gè)IR ...…

查看全部問(wèn)答∨

畢業(yè)設(shè)計(jì) 基于DSP的SPWM技術(shù)實(shí)現(xiàn)

緊急求助專家?guī)兔?。本人大四畢業(yè)設(shè)計(jì),做DSP的SPWM技術(shù)實(shí)現(xiàn)。用的是2407的芯片,要求仿真出波形圖,并且還要進(jìn)行算法的計(jì)算和改進(jìn),提出優(yōu)化,對(duì)誤差進(jìn)行分析,并對(duì)死區(qū)控制進(jìn)行分析。 本人現(xiàn)在急求 2407的SPWM C語(yǔ)言的程序,并且最好給張仿真的波 ...…

查看全部問(wèn)答∨

求助 :Compact Framework中播放mp3等音頻文件…

在Compact Framework中除了調(diào)用media player控件 還有其它什么播放音頻文件的方法嗎??…

查看全部問(wèn)答∨

誰(shuí)有LM3S8962的SD讀寫程序,發(fā)上來(lái)個(gè)研究一下

誰(shuí)有LM3S8962的SD讀寫程序,發(fā)上來(lái)個(gè)研究一下我這邊的stellarisware光盤里面的SD卡程序用不了,誰(shuí)有個(gè)能用的,給個(gè)!謝謝…

查看全部問(wèn)答∨

學(xué)C遇到的問(wèn)題

現(xiàn)在學(xué)習(xí)C,是自己買了本譚浩強(qiáng)的C語(yǔ)言程序設(shè)計(jì)自己在家邊看邊用電腦寫寫,發(fā)現(xiàn)在看書看了幾次能看明白了,再做后面的練習(xí)又不會(huì)了,不知道怎么下手,看了答案才知道原來(lái)是這樣的怎么辦?越看越?jīng)]有信心了,尤其是指針,就感覺(jué)我拿到問(wèn)題不知道怎么 ...…

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved