娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年08月31日(星期六)

2018年08月31日 | STM32軟件定時器的設計

發布者:科技奇才 來源: eefocus關鍵字:STM32  軟件定時器 手機看文章 掃描二維碼
隨時隨地手機看文章

  定時器分為硬件定時器和軟件定時器,幾乎所有的微控制器上都配備了數量有限的硬件定時器,即控制器本身有專門實現定時的模塊。幾乎所有的硬件定時器的工作原理都是一樣的:定時器在外部時鐘提供的周期脈沖下進行計數工作,當計數到用戶指定的次數時,就產生一次中斷。這個過程完全由微控制器內部的定時器硬件電路實現,不需要 CPU 干預。 

  相比之下,軟件定時器則需要 CPU 的介入來實現了。實現軟件定時器一般有兩種方法:一種是純粹依賴 CPU 指令的堆積來實現;另一種是以硬件定時器產生的時間片為基準單位,CPU 基于這個基準單位進行累積來實現。 

  顯然,硬件定時器的精度取決于驅動的時鐘脈沖,一般情況下可以達到很高的精度(納秒級),而軟件定時器的實現由于引入了非硬件因素,精度必然有所下降。 

   

  在嵌入式應用中,經常使用定時器進行定時,當定時時間到達之后執行預定的操作。一個具體的嵌入式系統可能有幾個甚至數十個定時應用,而這些應用對定時器的精度、最大周期等要求往往都是不同的。比如使用定時器產生一個準確頻率的方波是對定時精度比較高的應用,而使用定時器定時翻轉一個用戶指示燈以表示當前設備的工作狀態,則對定時器精度的要求大為下降,這時如果啟用硬件定時器無疑是一種資源的浪費。所以,在一個具體的嵌入式系統中,硬件定時器和軟件定時器配合使用,是提高性能和降低成本的有效方法。 

  那么,在 STM32 中如何利用一個硬件定時器構建多個軟件定時器呢? 

  我們來分析軟件定時器的基本需求:在嵌入式應用中,對定時器的使用模式一般是“定時時間到達后執行預定的操作”。所以需要解決如下一些問題: 

  1、 定時多久?——定時時間必須是可配置修改的; 

  2、 定時時間到達后做什么?——需要指定執行函數; 

  3、 定時器如何工作?——可以選擇單次執行或循環執行。


  具體實現如下: 

【頭文件 softtimer.h】

#ifndef __SOFT_TIMER_H__

#define __SOFT_TIMER_H__


#include "stm32f10x.h"


/* 單次執行 */

#define TIMER_ONESHOT   0

/* 循環執行 */

#define TIMER_PERIOD    1


/* 軟件定時器結構體信息塊 */

typedef struct __TIMER

{

    u32 Timeoutcnt;  // 表示定時器軟件計數變量

    u32 Timeout;     // 表示定時器單次定時周期

    void (*Timeoutfunc)(void *parameter); // 定時到達后的執行函數

    void *Parameter; // 執行函數的參數

    u8 Timerflag;    // 表示定時器處于單次執行模式還是循環執行模式

}Timer_typedef;


extern Timer_typedef TimerList[10];

/* 初始化軟件定時器 */

extern void TIMER_TimerInitialisation(void); 

/* 啟動一個軟件定時器 */

extern void \

TIMER_TimerStart(u8 TimerIdent, \

                 u32 Timeout, \

                 void (*Timeoutfunc)(void *parameter), \

                 void *parameter, \

                 u8 flag);

/* 用于判斷定時時間是否到達,并執行對應函數 */

extern void TIMER_Execute(void);


#endif


關鍵字:STM32  軟件定時器 引用地址:STM32軟件定時器的設計

上一篇:STM32系列修改外部晶振以及代碼的修改
下一篇:STM32庫函數EXTI_GetFlagStatus和EXTI_GetITStatus的區別

推薦閱讀

中國北京,2018年8月20日——近日,全球能效管理與自動化領域數字化轉型的領導者施耐德電氣宣布,將攜手合作伙伴,為中國一冶集團有限公司(以下簡稱“中國一冶”)負責總包建設的——OPPO印度制造中心項目提供設計顧問服務及完整的中低壓配電解決方案。施耐德電氣提供的該解決方案將打造穩定可靠的配電系統,保障供電連續性,助力客戶快速構建更加安全、...
類似Amazon Go這樣的無人商店可能會是未來零售業發展的其中一個方向,但對于沃爾瑪來說,將當前碩大的商超做如此前衛的改造還不現實,不過,自動化程度的提升還有其它手段,比如機器人。 早在2017年,沃爾瑪就在50家老式門店啟用庫存掃描機器人。今年,試點擴大到350家門店,且機器人開始越來越接近過道售貨員的角色,甚至可以為部分低價促銷商品提供...
雖然蘋果公司的股價不菲,如今在 500 美元附近徘徊,市值也早已經破了 2 萬億大關,甚至還有機構直接給出了 3 萬億的預判。在一片看好聲中,蒂姆·庫克剛獲得了獎勵的股票份額之后,轉手就賣出了一半 26.5 萬股的蘋果股票,直接套現 1.3 億美元。 庫克其實一點兒也“不傻”,現在蘋果公司的股價之高是最適合套現的機會,在拆股之后,還有 500 ...
高級駕駛輔助系統(ADAS)提供安全和日益自主的體驗,將重塑我們與交通的關系。自動駕駛領域的技術將很快讓乘客獲得個性化的互聯體驗,因為車輛可以無縫地感知、思考并根據實時路況采取行動。 由于汽車行業未來三個最重要的問題:自動駕駛、軟件更新和驅動系統電氣化,對汽車系統設計和軟件開發的要求正在增加。 目前汽車中的電動/電子(E/E)架構在每個控...

史海拾趣

問答坊 | AI 解惑

I2C總線

有沒有哪位高手做過51的I2C通信,指點一下;c8051的片子也可以啊。有ARM的也行,先謝謝了!!!!…

查看全部問答∨

也談芯片生產中的“過程能力指數”分析

在芯片的生產過程中,會經歷許多次的摻雜、增層、光刻和熱處理等工藝制程,每一步都必須達到極其苛刻的物理特性要求。但是,即使是最成熟的工藝制程也存在不同位置之間、不同晶圓之間、不同工藝運行之間以及不同時段之間的變異。有時,這種變異會使 ...…

查看全部問答∨

畫PCB經驗談

選Design-Rules 一般需要重新設置以下幾點: 1、安全間距(Routing標簽的Clearance Constraint) 它規定了板上不同網絡的走線焊盤過孔等之間必須保持的距離。一般板子可設為0.254mm,較空的板子可設為0.3mm,較密的貼片板子可設為0.2-0.22mm,極少 ...…

查看全部問答∨

請教大家個問題

 今天讀 MEGA16L手冊上邊寫著: 速度等級 MEGA16L 0-8MHZ MEGA16 0-16MHZ   我的問題是這句話是說MEGA16L最大晶振8MHZ嗎…

查看全部問答∨

6410+OV3640

這兩天在6410平臺上調OV3640,一直出不來,納悶死了,WINCE6.0,用三星官方BSP里的camera移過來的,能確保驅動這邊沒有問題,因為原來調一個30W像素的已OK的, 我現在驅動接口format是:YCbCr422 , ITU-601,MCLK=24MHZ,size:1024x768(現在我叫FAE給 ...…

查看全部問答∨

怎樣使用wm_text消息?

在窗口上加了一個edit控件id為IDC_EDIT1, 然后又加了一個按鈕id為ID_CHECK, 設想是點擊按鈕check,就彈出messagebox顯示edit的內容, 請問我的代碼怎么錯了,                    ...…

查看全部問答∨

USB有通訊錯誤時,PC機能發送數據,但是不能接收到數據

我們的設備在進行通訊一段時間后PC端就不能收到數據,但是還能發送數據.不知道為什么,后來就想辦法解決它,測試一段時間后,發現對它進行電磁干擾.就會出現這種情況.單片機是沒有死的,因為我們測試過,.并且PC端還能發送指令,單片機還接收指令并處理.&n ...…

查看全部問答∨

modelsim中手動設置仿真信號

1.新建工程:file->new->project 2.新建文件: 3.編譯文件:compile->all 4.仿真:simulation->start simulation: 在彈出的對話框中選中work ->相應文件->behavorial,再OK 5.View->wave 6.加入信號 7.在wave ...…

查看全部問答∨

CCS3.3 加載VS2005生成的靜態庫lib文件

如題,可否加載?如何加載? 其實我想做的就是將一個固定算法模塊做成庫文件,然后在ccs工程中加載這個庫。目前是使用了VS2005來生成靜態lib文件,但不知如何加載。求助高手。…

查看全部問答∨

AVR(mega8)電子時鐘

剛學習AVR單片機,網上搜集資料,制作的一個電子時鐘,時間可調,呵呵。…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 永泰县| 安龙县| 嘉兴市| 龙陵县| 义马市| 巴塘县| 康马县| 嘉义县| 永兴县| 莆田市| 安仁县| 卫辉市| 清水河县| 广州市| 南皮县| 甘肃省| 开阳县| 青岛市| 威海市| 万山特区| 石泉县| 左权县| 定远县| 景谷| 房产| 金门县| 张家口市| 乌兰察布市| 房山区| 思南县| 定结县| 平谷区| 庐江县| 潼南县| 二连浩特市| 花莲市| 北票市| 双辽市| 修水县| 海盐县| 涞源县|