色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CW32L083實現SysTick精準微秒延時驅動

華仔的編程隨筆 ? 來源:華仔的編程隨筆 ? 作者:華仔的編程隨筆 ? 2023-06-11 14:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在做18B20時需要用到精準的微秒定時器

  1. 時鐘初始化,這里采用CW的例程,驅動HSI主頻為64M
void RCC_Configuration(void)
{
    /* 0. HSI使能并校準 */
    RCC_HSI_Enable(RCC_HSIOSC_DIV6);

    /* 1. 設置HCLK和PCLK的分頻系數*/
    RCC_HCLKPRS_Config(RCC_HCLK_DIV1);
    RCC_PCLKPRS_Config(RCC_PCLK_DIV1);

    /* 2. 使能PLL,通過HSI倍頻到64MHz */
    RCC_PLL_Enable(RCC_PLLSOURCE_HSI, 8000000, RCC_PLL_MUL_8); // HSI 默認輸出頻率8MHz

    ///< 當使用的時鐘源HCLK大于24M,小于等于48MHz:設置FLASH 讀等待周期為2 cycle
    ///< 當使用的時鐘源HCLK大于48M,小于等于72MHz:設置FLASH 讀等待周期為3 cycle
    __RCC_FLASH_CLK_ENABLE();
    FLASH_SetLatency(FLASH_Latency_3);

    /* 3. 時鐘切換到PLL */
    RCC_SysClk_Switch(RCC_SYSCLKSRC_PLL);
    RCC_SystemCoreClockUpdate(64000000);

}
  1. 在cw32l083_systick.c中增加三個函數:
    初始化ms、us的裝載初值,以實現毫秒、微秒的裝裝:
static uint32_t fac_ms ;
static uint32_t fac_us;
#define HclkFreq 64000000
void init_SysTick(void)
{
fac_ms = HclkFreq/1000U;
fac_us = fac_ms/1000U;
}

3、微秒延時函數,實現的思路是用微少的時裝載初值*延時需要的時間,加載到計數器中(SysTick->Load),然后開始計時,查詢到計數器已經在計時,且溢出標志位為1時中止計時,以實現微秒延時,代碼如下:

void delayTick_us(uint32_t nus)
{
		uint32_t temp;
	  SysTick- >CTRL=0;
		SysTick- >LOAD = fac_us*nus - 1;
	  SysTick- >CTRL  = SysTick_CTRL_CLKSOURCE_Msk |SysTick_CTRL_ENABLE_Msk;    //使能時鐘、開始計時
		do {
		temp = SysTick- >CTRL; //讀寄存器,判斷是否溢出位
		}while(!(temp&(SysTick_CTRL_COUNTFLAG_Msk)) && (temp & 0x01));
		SysTick- >CTRL=0; 	//停止計時
	
}

4、毫秒延時函數的實現,由于毫秒的計數初值比較大,所以不能象微秒一樣直接把相乘的計數值裝載進LOAD寄存器中,需要以1毫秒為單位,在中斷中每一毫秒相加進行計數,當計數值達到所需要的計數的值時,中止計時,來實現精準的延時。

代碼如下:

void delayTick_ms(uint32_t nms)
{
	  SysTick- >CTRL=0;
	  uwTick = 0;
    SysTick_Config(fac_ms);
		while(uwTick< nms);
		SysTick- >CTRL=0;
		uwTick = 0;
		
}

毫秒延時.png微秒延時.png

微秒延時2.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 定時器
    +關注

    關注

    23

    文章

    3300

    瀏覽量

    119098
  • RCC
    RCC
    +關注

    關注

    0

    文章

    95

    瀏覽量

    27617
  • Systick
    +關注

    關注

    0

    文章

    63

    瀏覽量

    13607
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

  • jf_986135431
  • jf_095103551
  • 华仔stm321

評論

相關推薦
熱點推薦

基于CW32L083的線控器方案設計

基于武漢芯源推出的CW32L083設計的空調線控器產品.
的頭像 發表于 06-25 14:23 ?44.4w次閱讀
基于<b class='flag-5'>CW32L083</b>的線控器方案設計

CW32L083 RTC初始化設置

介紹CW32L083的RTC初始化設置
的頭像 發表于 06-24 10:16 ?2187次閱讀
<b class='flag-5'>CW32L083</b> RTC初始化設置

基于CW32L083設計的超低功耗溫濕度計

基于CW32L083設計的超低功耗溫濕度計,可以用電池供電,實現數年超長工作時間。
的頭像 發表于 06-25 12:08 ?2.8w次閱讀
基于<b class='flag-5'>CW32L083</b>設計的超低功耗溫濕度計

基于CW32L083的空調遙控器方案設計

基于武漢芯源半導體推出的CW32L083而設計的的空調遙控器方案
的頭像 發表于 06-21 16:03 ?1936次閱讀
基于<b class='flag-5'>CW32L083</b>的空調遙控器方案設計

移植RT-Thread nano到CW32L083

移植RT-Thread Nano到CW32L083開發板上,并成功運行。
的頭像 發表于 07-03 09:04 ?2.3w次閱讀
移植RT-Thread nano到<b class='flag-5'>CW32L083</b>

CW32L083移植驅動st7735 TFT屏

CW32L083驅動ST7735屏
的頭像 發表于 07-04 19:16 ?2226次閱讀
<b class='flag-5'>CW32L083</b>移植<b class='flag-5'>驅動</b>st7735 TFT屏

CW32L083串口中斷+定時器實現不定長數據接收

CW32L083 用串口中斷加定時器中斷實現串口的不定長數據的接收,特別適用于AT指令的接收。
的頭像 發表于 07-12 09:00 ?2703次閱讀
<b class='flag-5'>CW32L083</b>串口中斷+定時器<b class='flag-5'>實現</b>不定長數據接收

[技術手冊] CW32L083數據手冊

CW32L083數據手冊,PSMCU0116.pdf,Rev1.2
發表于 05-31 16:13

[技術手冊] CW32L083用戶手冊

CW32L083用戶手冊
發表于 06-02 15:41

武漢芯源Cortex-M0+ 32位低功耗MCU CW32L083系列產品介紹

~ 5.5V。極大程度滿足用戶各種使用環境。03 CW32L083系列選型指南和購買渠道主流開發設計工具和編程器廠家已實現CW32L083系列的支持。同時還有配套的開發工具,用于CW32
發表于 08-24 09:12

CW32L083產品介紹

CW32L083是一款基于eFlash的單芯片低功耗微控制器,集成了ARM?Cortex?-M0+ 核心,主頻高達64MHz,高速嵌入式存儲器(高達256K字節的FLASH和 高達24K字節
發表于 09-14 06:41

CW32L083 I2C主板發送編程示例

CW32L083的I2C主機發送示例。
的頭像 發表于 06-09 16:54 ?18w次閱讀

CW32L083段碼屏驅動

CW32L083開發板上有8個段碼LCD顯示,使其顯示為0-9數字。
的頭像 發表于 06-18 09:13 ?18.1w次閱讀
<b class='flag-5'>CW32L083</b>段碼屏<b class='flag-5'>驅動</b>

CW32L083實現SHT30驅動

CW32L083驅動SHT30,并顯示到LCD屏上。
的頭像 發表于 06-22 09:57 ?3967次閱讀
<b class='flag-5'>CW32L083</b><b class='flag-5'>實現</b>SHT30<b class='flag-5'>驅動</b>

CW32L083如何實現AUTOTRIM時鐘校準?

CW32L083如何實現AUTOTRIM時鐘校準?
的頭像 發表于 11-07 17:17 ?976次閱讀
<b class='flag-5'>CW32L083</b>如何<b class='flag-5'>實現</b>AUTOTRIM時鐘校準?
主站蜘蛛池模板: 欧美亚洲日韩自拍高清中文 | 日本亚洲中文字幕无码区 | 亚洲国产精品特色大片观看 | 猛烈抽插H1V1 | 亚洲午夜精品A片久久软件 亚洲午夜精品A片久久不卡蜜桃 | 中国老太性色xxxxxhd | 久9青青cao精品视频在线 | 成年人深夜福利 | 在线免费观看国产视频 | 伊人影院综合网 | 久久精品国产久精国产果冻传媒 | 狠狠色在在线视频观看 | 中文字幕亚洲乱码熟女在线萌芽 | 美女爽到嗷嗷嗷叫 | 花蝴蝶免费版高清版 | 国产午夜精品AV一区二区麻豆 | 国产成人8x视频一区二区 | 妻子的妹妹在线 | 91在线青春娱乐精品分类 | 亚洲精品乱码久久久久久中文字幕 | 伊人久久精品99热超碰 | 午夜国产理论 | 看全色黄大色大片免费久黄久 | 最近高清日本免费 | 亚洲精品久久久久久久蜜臀老牛 | 亚洲成人在线免费 | 最近2018年手机中文字幕 | 免费视频久久只有精品 | 色综合久久88色综合天天提莫 | 欧美一区二区三区久久综 | 日韩中文亚洲欧美视频二 | 亚洲中文字幕乱码熟女在线 | 久久偷拍免费2017 | 最近更新2019中文字幕国语 | 单亲妈妈3韩国电影免费观看 | 狼人无码伊人AV啪啪 | 嫩草伊人久久精品少妇AV网站 | 久久婷婷五月免费综合色啪 | 姐姐不~不可以动漫在线观看 | 国产成人久久精品AV | 国产真实乱对白精彩 |

電子發燒友

中國電子工程師最喜歡的網站

  • 2931785位工程師會員交流學習
  • 獲取您個性化的科技前沿技術信息
  • 參加活動獲取豐厚的禮品