国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32延遲(休眠)函數(shù)delay/sleep

這篇具有很好參考價值的文章主要介紹了STM32延遲(休眠)函數(shù)delay/sleep。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

  • 參考

MSP432(Keil5)——3.delay延時驅(qū)動_keil5delay函數(shù)_大寫的小寫字母的博客-CSDN博客

親手測試過, 好用。用while太愚蠢,而且不好控制。

  • 下載鏈接

https://download.csdn.net/download/quantum7/87982408文章來源地址http://www.zghlxwxcb.cn/news/detail-527601.html

  • delay.h
#ifndef __DELAY_H__
#define __DELAY_H__

#include "system.h"

#define sleep_us delay_us
#define sleep_ms delay_ms

void Delay_Init(void);
void delay_us(uint32_t nus);
void delay_ms(uint16_t nms);

#endif
  • delay.c
#include "delay.h"


static uint8_t  g_fac_us=0;  

void Delay_Init(void)
{
	g_fac_us = SystemCoreClock / 1000000;      
}


//延時us
void delay_us(uint32_t nus)
{
	uint32_t temp;

	SysTick->LOAD=(uint32_t)(nus*g_fac_us);  
	SysTick->VAL=0x00;         
	SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk | SysTick_CTRL_CLKSOURCE_Msk;  
	do
	{
		temp=SysTick->CTRL;
	}
	while(temp&0x01&&!(temp&(1<<16)));

	SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;
	SysTick->VAL =0X00;
}

//延時ms
void delay_ms(uint16_t nms)
{
	uint16_t i = 0;
	for(i=0;i<nms;i++)
  {
		delay_us(1000);
  }
}

到了這里,關(guān)于STM32延遲(休眠)函數(shù)delay/sleep的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Shell 命令集合 系統(tǒng)管理 】??Linux 讓進(jìn)程休眠 sleep命令 使用指南

    【Shell 命令集合 系統(tǒng)管理 】??Linux 讓進(jìn)程休眠 sleep命令 使用指南

    Shell 命令專欄:Linux Shell 命令全解析 在Linux中,sleep命令用于在一段指定的時間內(nèi)暫停當(dāng)前進(jìn)程的執(zhí)行。它的作用是讓進(jìn)程休眠,暫停執(zhí)行一段時間,然后繼續(xù)執(zhí)行后續(xù)的指令。 使用sleep命令可以在腳本中設(shè)置延遲,以便在執(zhí)行后續(xù)操作之前等待一段時間。這對于需要在特定

    2024年02月07日
    瀏覽(123)
  • STM32MP157驅(qū)動開發(fā)——按鍵驅(qū)動(休眠與喚醒)

    STM32MP157驅(qū)動開發(fā)——按鍵驅(qū)動(休眠與喚醒)

    當(dāng)應(yīng)用程序必須等待某個事件發(fā)生,比如必須等待按鍵被按下時,可以使用“休眠-喚醒”機(jī)制: ① APP 調(diào)用 read 等函數(shù)試圖讀取數(shù)據(jù),比如讀取按鍵; ② APP 進(jìn)入內(nèi)核態(tài),也就是調(diào)用驅(qū)動中的對應(yīng)函數(shù),發(fā)現(xiàn)有數(shù)據(jù)則復(fù)制到用戶空間并馬上返回; ③ 如果 APP 在內(nèi)核態(tài),也就

    2024年02月16日
    瀏覽(52)
  • 關(guān)于STM32使用HAL_Delay(),程序卡死,的解決辦法。

    關(guān)于STM32使用HAL_Delay(),程序卡死,的解決辦法。

    在使用STM32的Hal庫開發(fā)時,存在在中斷中使用Hal_Delay()時程序會卡死的問題,這是由于Hal_Delay()是使用定時器實現(xiàn)的,并且它的定時器中斷優(yōu)先級為15是最低的。需要給它重新設(shè)置中斷優(yōu)先級,實際操作方式如下: 這會把Hal_Delay()的優(yōu)先級提到最高,同時要查看另一個中斷優(yōu)先

    2024年02月16日
    瀏覽(26)
  • STM32獨(dú)立看門狗IWDG和休眠(低功耗)共存那些事兒

    STM32獨(dú)立看門狗IWDG和休眠(低功耗)共存那些事兒

    1.寄存器寫入標(biāo)志位方法為主要手段 2.看門狗初始化放在標(biāo)志位判斷后方 3.合理利用單片機(jī)復(fù)位,標(biāo)志位復(fù)位后不會丟失的特點 4.不同系列單片機(jī)寄存器不一樣 調(diào)試進(jìn)入斷點時不管停留多久,都不會觸發(fā)看門狗 論壇TM32在休眠模式下怎么使用看門狗? 現(xiàn)在你只有2個辦法: 1)使

    2024年02月12日
    瀏覽(14)
  • golang實現(xiàn)延遲隊列(delay queue)

    golang實現(xiàn)延遲隊列(delay queue)

    延遲隊列:處理需要在未來某個特定時間執(zhí)行的任務(wù)。這些任務(wù)被添加到隊列中,并且指定了一個執(zhí)行時間,只有達(dá)到指定的時間點時才能從隊列中取出并執(zhí)行。 應(yīng)用場景: 郵件提醒 訂單自動取消(超過多少時間未支付,就取消訂單) 對超時任務(wù)的處理等 由于任務(wù)的執(zhí)行

    2024年02月22日
    瀏覽(16)
  • STM32G0x0系列-軟件定時器解決HAL_Delay問題

    STM32G0x0系列-軟件定時器解決HAL_Delay問題

    目錄 HAL_Delay函數(shù)源碼 軟件定時器 創(chuàng)建工程試驗 1.將對應(yīng)文件移動到項目位置 2.添加現(xiàn)有文件放到工程中? ?3.重定向printf 3.驗證自己的軟件定時器 4.查看現(xiàn)象 ???????? HAL_Delay函數(shù)使用了中斷機(jī)制來實現(xiàn)延時功能,當(dāng)在中斷函數(shù)中調(diào)用HAL_Delay函數(shù)需要考慮中斷優(yōu)先級問題。

    2024年02月07日
    瀏覽(87)
  • ros::Rate loop_rate(10); loop_rate.sleep(); 在程序中是休眠到一定時間,并不占用CPU時間

    如題 ros::Rate loop_rate(10); loop_rate.sleep(); 在ROS C++ 編寫訂閱者等功能包時,會用到以上兩個函數(shù) 經(jīng)過本人測試和查詢,sleep()函數(shù)并不占用CPU時間,故如果想用定時器來記錄程序執(zhí)行時間,并不會把休眠的時間加進(jìn)去(休眠其實就是不占用CPU時間的意思). 實際上,執(zhí)行sleep()函

    2024年02月02日
    瀏覽(22)
  • 【STM32筆記】低功耗模式、WFI命令等進(jìn)入不了休眠的可能原因(系統(tǒng)定時器SysTick一直產(chǎn)生中斷)

    【STM32筆記】低功耗模式、WFI命令等進(jìn)入不了休眠的可能原因(系統(tǒng)定時器SysTick一直產(chǎn)生中斷)

    【STM32】低功耗模式、WFI命令等進(jìn)入不了休眠的可能原因(系統(tǒng)定時器SysTick一直產(chǎn)生中斷) 【STM32筆記】低功耗模式配置及避坑匯總 前文: blog.csdn.net/weixin_53403301/article/details/128216064 【STM32筆記】HAL庫低功耗模式配置(ADC喚醒無法使用、低功耗模式無法燒錄解決方案) __WFI

    2024年02月10日
    瀏覽(120)
  • Docker中為RabbitMQ安裝rabbitmq_delayed_message_exchange延遲隊列插件

    Docker中為RabbitMQ安裝rabbitmq_delayed_message_exchange延遲隊列插件

    1、前言 rabbitmq_delayed_message_exchange是一款向RabbitMQ添加延遲消息傳遞(或計劃消息傳遞)的插件。 插件下載地址:https://www.rabbitmq.com/community-plugins.html 1、下載插件 首先需要確定我們當(dāng)前使用的RabbitMQ的版本,我們可以直接登錄Web端的管理界面查看版本 ? 也可以在RabbitMQ容器中

    2024年02月12日
    瀏覽(27)
  • STM32之HAL庫微妙延遲(借助Systick)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包