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

歷史上的今天

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

2018年07月20日 | STM32中,systick具體延時(shí)時(shí)間計(jì)算

發(fā)布者:asd999ddd 來源: eefocus關(guān)鍵字:STM32  systick  延時(shí)時(shí)間 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

/****************************************************************************
*  STM32單片機(jī)SysTick系統(tǒng)滴答定時(shí)器實(shí)驗(yàn)程序
*
*
*
*****************************************************************************/
#ifndef                _SYSTICK_H
#define                 _SYSTICK_H
#include "SysTick.h"
#define    SYSTICK_CSR   (*((volatile unsigned long *) 0xE000E010))//控制寄存器
#define    SYSTICK_LOAD  (*((volatile unsigned long *) 0xE000E014))//重載寄存器
#define    SYSTICK_VAL   (*((volatile unsigned long *) 0xE000E018))//當(dāng)前值寄存器
#define    SYSTICK_CALRB (*((volatile unsigned long *) 0xE000E01C)) //校準(zhǔn)值寄存器
unsigned long SysTick_Delay;//全局變量
//配置寄存器
void SysTick_InitStructReadCmd(void)
{
SYSTICK_VAL = 0;  //當(dāng)前值寄存器清零
SYSTICK_LOAD = SystemCoreClock / 1000000; //重要部分就在這里  系統(tǒng)72000000 / 100000
SYSTICK_CSR |= 0x06;   //先關(guān)閉SysTick使能用的時(shí)候在打開
}
//中斷服務(wù)程序
void SysTick_Hangler(void)
{
SYSTICK_VAL = 0;     //當(dāng)前值寄存器清零
if(SysTick_Delay != 0x00)//判斷延時(shí)SysTick_Delay 是否等于0
{
SysTick_Delay--;//減到0結(jié)束
}

//延時(shí)函數(shù)
void Delay_10us(unsigned long Countlinef)
{
SYSTICK_CSR |= 0x07;  //啟動(dòng)SysTick使能
SysTick_Delay = Countlinef;  //把延時(shí)變量賦值SysTick_Delay全局變量
while(SysTick_Delay != 0);  //判斷延時(shí)時(shí)間是否到
SYSTICK_CSR |= 0x06;  //時(shí)間到關(guān)閉 SysTick使能用的時(shí)候在打開
}
int main(void)
{
SystemInit(); //注意這么是把系統(tǒng)時(shí)鐘設(shè)初始化為 72M主頻,這里是必須的
SysTick_InitStructReadCmd();
while(1)
{
GPIOD->BSRR = 0x00000100;
Delay_10us(1000000)  ; //實(shí)現(xiàn)1ms延時(shí)
GPIOD->BRR  = 0x00000100;
}
}
//====================================END=============================================//
/*   好了我們開始講解程序1us是怎么實(shí)現(xiàn)的,我們使用時(shí)鐘源為APB時(shí)鐘,APB系統(tǒng)頻率陪配置為72MHZ
     SYSTICK_LOAD = SystemCoreClock / 1000000; SysTick重載初值重要的地方就在這里
1:SystemCoreClock 這個(gè)是什么意思,跟蹤庫函數(shù)找到如下:
    #ifdef SYSCLK_FREQ_HSE
        uint32_t SystemCoreClock         = SYSCLK_FREQ_HSE;       
        #elif defined SYSCLK_FREQ_24MHz
        uint32_t SystemCoreClock         = SYSCLK_FREQ_24MHz;     
        #elif defined SYSCLK_FREQ_36MHz
        uint32_t SystemCoreClock         = SYSCLK_FREQ_36MHz;       
        #elif defined SYSCLK_FREQ_48MHz
        uint32_t SystemCoreClock         = SYSCLK_FREQ_48MHz;       
        #elif defined SYSCLK_FREQ_56MHz
        uint32_t SystemCoreClock         = SYSCLK_FREQ_56MHz;        
        #elif defined SYSCLK_FREQ_72MHz
        uint32_t SystemCoreClock         = SYSCLK_FREQ_72MHz;        
        #else /*!< HSI Selected as System Clock source */
//     uint32_t SystemCoreClock         = HSI_VALUE;     
/*這里不難看出,我們初始化SystemInit(); 是系統(tǒng)已經(jīng)把SystemCoreClock配置成72M下面就不難理解了,
               先看一下計(jì)算公式:T = TICKS * (1/f);  
               T : 為要計(jì)時(shí)的總時(shí)間。
               TICKS :為SYSTICK_LOAD 的輸入?yún)?shù)。
   (1/f)為使用時(shí)鐘源的時(shí)鐘周期,f為時(shí)鐘源的時(shí)鐘頻率
   使用時(shí)鐘源為AHB時(shí)鐘, 頻率被配置72M;
   把SYSTICK_LOAD重載寄存器賦值為 SystemCoreClock / 1000000;呵呵呵大家
   發(fā)現(xiàn)了什么,就是72000000 / 1000000 = 72;大家都應(yīng)該知道了72個(gè)時(shí)鐘周期
   中斷一次,大家接著看(1/f)是時(shí)鐘周期的時(shí)間。1/72M = 0.13888888888888888888888888888889;
   1us誕生了,0.13888888888888888888888888888889*72 = 1;1us哈哈哈大家明白了吧。
  //野火資料出問題的地方 ticks=SystemFrequency / 10 000 =720,相當(dāng)于:72000000 / 10000 ;這里少了一個(gè)0  結(jié)果等于 = 7200 不等于720看資料看的糾結(jié)哈哈哈。
這個(gè)程序折磨我1個(gè)星期,沒有吃好睡好,搞明白后我就馬上做上筆記那給大家分享。
    
*/

//講得簡單易懂,當(dāng)然精確定時(shí)還是要定時(shí)器的


關(guān)鍵字:STM32  systick  延時(shí)時(shí)間 引用地址:STM32中,systick具體延時(shí)時(shí)間計(jì)算

上一篇:使用SysTick的普通計(jì)數(shù)模式對延遲進(jìn)行管理
下一篇:STM32 在RVMDK下簡單延時(shí)計(jì)算

推薦閱讀

現(xiàn)今,人工智能的發(fā)展如火如荼,正在邁向關(guān)鍵的發(fā)展期。人工智能技術(shù)正在滲透并重構(gòu)生產(chǎn)、分配、交換、消費(fèi)等經(jīng)濟(jì)活動(dòng)各個(gè)環(huán)節(jié),形成從宏觀到微觀各領(lǐng)域的智能化新需求、新產(chǎn)品、新技術(shù)、新業(yè)態(tài),改變?nèi)祟惿罘绞缴踔辽鐣?huì)結(jié)構(gòu)。中國工程院院士潘云鶴表示“人工智能2.0以提高人類智力活動(dòng)能力為主要目標(biāo),將為生產(chǎn)、資源、環(huán)境等社會(huì)發(fā)展提出建議。”?7月...
“未來3-5年,感知連接量將呈海量,聯(lián)合發(fā)電廠商、設(shè)備集成與運(yùn)維商、家電廠商、感知與用能終端商、工商業(yè)及居民用戶,構(gòu)建海量終端互聯(lián)感知的產(chǎn)業(yè)業(yè)態(tài)。”7月10日,中國電科院副院長、國網(wǎng)能源互聯(lián)網(wǎng)技術(shù)研究院院長王繼業(yè)在“泛在電力物聯(lián)網(wǎng)智能感知技術(shù)論壇”上表示。與會(huì)專家們也一致認(rèn)為,通過海量感知終端的規(guī)模化建設(shè),各方將分享發(fā)展紅利,互惠共...
7月19日消息 外媒PhoneArena報(bào)道,全球最大的代工合同制造商是臺積電(TSMC),為那些具有自主設(shè)計(jì)但沒有生產(chǎn)設(shè)備的公司生產(chǎn)芯片。用于制造芯片的設(shè)備非常復(fù)雜且非常昂貴。例如,臺積電計(jì)劃今年在資本支出上會(huì)付出150億美元,臺積電的主要客戶包括蘋果、高通和華為?! 〗衲?,臺積電將為蘋果和華為交付其最先進(jìn)的芯片組,分別為A14 Bionic和...
近日,消費(fèi)級機(jī)器人平臺「可以科技」近日獲數(shù)千萬美元 B 輪融資,本輪融資由小米,順為領(lǐng)投,上一輪領(lǐng)投方、老股東源碼資本跟投,由義柏資本擔(dān)任獨(dú)家財(cái)務(wù)顧問。創(chuàng)始人、CEO 楊健勃表示,本輪融資資金將持續(xù)用于機(jī)器人社區(qū)的平臺建設(shè),產(chǎn)品研發(fā)和迭代,以及用于吸納更多頂級工程師,設(shè)計(jì)師等人才??梢钥萍汲闪⒂?2014 年,是一家消費(fèi)級機(jī)器人高科技公...

史海拾趣

問答坊 | AI 解惑

“三步走”成為一名優(yōu)秀程序員

1) 以一種有效的方式學(xué)習(xí)一種編程語言。   2) 快速有效的調(diào)試你的代碼。   3) 時(shí)刻不但學(xué)習(xí)的心態(tài),保持知識的更新。   下面我具體的講一講:  第一步: 以一種有效的方式學(xué)習(xí)一種編程語言   下面我要講的是一種專業(yè)有效的方法來習(xí) ...…

查看全部問答∨

LM324放大問題

最近在做一個(gè)脈搏測量的項(xiàng)目,但由于剛接觸運(yùn)放不久,覺得在調(diào)試過程中出現(xiàn)很多問題。 附件里是我的lm324兩級放大電路,不知道問題出在哪里。覺得很奇怪,2腳輸入電壓1.2v,1腳輸出3.39v,調(diào)RP1怎么調(diào)1腳輸出電壓都不會(huì)變。到底問題出在哪?我用的 ...…

查看全部問答∨

Protel DXP 2004實(shí)用教程CD版本

Protel DXP 2004實(shí)用教程CD版本…

查看全部問答∨

C 語言常見問題集

本帖最后由 paulhyde 于 2014-9-15 09:19 編輯 本文從英文 C–FAQ(2004 年 7 月 3 日修訂版) 翻譯而來。本文的中文版權(quán)為 朱群英和孫云所有。本文的內(nèi)容可以自由用于個(gè)人目的,但是不可以未經(jīng)許可出 版發(fā)行。英文版權(quán)為 SteveSummit所有,詳情見 ...…

查看全部問答∨

在談可移植性與系統(tǒng)架構(gòu)

    許多人認(rèn)為,可移植性就是軟件從一個(gè)平臺換到另一個(gè)硬件平臺,仍然能正常運(yùn)行的能力。這種說法是很籠統(tǒng)的,我們在細(xì)想一下,其中至少存在以下幾個(gè)層面: 是否需要修改代碼。 是否需要修改配置。 是否需要重新編譯。 是否能夠 ...…

查看全部問答∨

eboot 中DM9000的初始化,鏈接

EBOOT中在初始化DM9000之前讀取其ID一直返回錯(cuò)誤,下面是程序: uint8 ReadReg(uint8 offset) {         *((volatile uint8 *)(IOBase)) = (uint8)(offset);         return ((uint8 ...…

查看全部問答∨

申請LM3S8962 評估板

如果有時(shí)間的話,考慮做一個(gè)簡化版的TCP/IP TO CAN的網(wǎng)關(guān),畢竟成本優(yōu)勢太明顯了  [ 本帖最后由 dyc1229 于 2010-10-15 13:27 編輯 ]…

查看全部問答∨

【低功耗】Altera發(fā)布具有安全特性的低功耗新系列Cyclone III LS FPGA

繼續(xù)擴(kuò)大在低功耗解決方案上的領(lǐng)先優(yōu)勢,Altera公司今天發(fā)布了具有安全特性的低功耗新系列FPGA。新的Altera Cyclone III LS FPGA在單位面積電路板上具有密度最大的邏輯、存儲器和DSP資源。這些器件是功耗最低的FPGA,200K邏輯單元(LE)的靜態(tài)功耗小 ...…

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

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

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

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