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

STM32CubeMx學習FreeRTOS的絕對延時和相對延時

這篇具有很好參考價值的文章主要介紹了STM32CubeMx學習FreeRTOS的絕對延時和相對延時。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在阻塞狀態(tài)中 可以空閑出時間 來讓低優(yōu)先級的任務可以進行

有兩種阻塞延時 一個是相對延時 也就是?

osDelay(500);

這樣的osDelay可以讓在到這里的時候,延時500ms

也就是程序到這里才500ms 不記程序前面所用的時間

而還有一個絕對延時

vTaskDelayUntil(&xlastwakeTime,500);

絕對延時指的是 加上程序自己跑的時間 全部的一起500ms

前面的參數(shù)是可以理解成程序開始的標志的地址

完整代碼如:

void LED_Task2(void const * argument)
{
  /* USER CODE BEGIN LED_Task2 */
	TickType_t xlastwakeTime;
	xlastwakeTime =xTaskGetTickCount();
  /* Infinite loop */
  for(;;)
  {
		printfl("task2\r\n");
		HAL_Delay(200);
		vTaskDelayUntil(&xlastwakeTime,500);
		
  }
  /* USER CODE END LED_Task2 */
}

這樣每次task2都500ms進入一次

500ms來一次

void LED_Task1(void const * argument)
{
  /* USER CODE BEGIN LED_Task1 */
  /* Infinite loop */
  for(;;)
  {
		printfl("task1\r\n");
		HAL_Delay(200);
		osDelay(500);
    
  }
  /* USER CODE END LED_Task1 */
}

task1就700ms來一次,是這樣的



?設置按鍵任務? 用來刪除 創(chuàng)建 暫停 恢復任務

?

void key0_task(void const * argument)
{
  /* USER CODE BEGIN key0_task */
	static uint8_t Flag=1;
  /* Infinite loop */
  for(;;)
  {
		
     if(HAL_GPIO_ReadPin(key2_GPIO_Port,key2_Pin)==0)
		{
			osDelay(20);
			if(HAL_GPIO_ReadPin(key2_GPIO_Port,key2_Pin)==0)
			{
				if(Flag==1)
				{
					printfl("paused!\r\n");
					vTaskSuspend(LED2Handle);
					Flag=0;
					while((HAL_GPIO_ReadPin(key1_GPIO_Port,key1_Pin)==0));
				}
				else
				{
					printfl("hui fu 2!\r\n");
					vTaskResume(LED2Handle);
					Flag=1;
					while((HAL_GPIO_ReadPin(key1_GPIO_Port,key1_Pin)==0));
				}
			}
			
		}
	
		
		
		
  }
  /* USER CODE END key0_task */
}

暫?;謴腿蝿?mark hidden color="red">文章來源:http://www.zghlxwxcb.cn/news/detail-631422.html

刪除重建任務文章來源地址http://www.zghlxwxcb.cn/news/detail-631422.html

void key1_task(void const * argument)
{
  /* USER CODE BEGIN key1_task */
  /* Infinite loop */
  for(;;)
  {
    if(HAL_GPIO_ReadPin(key1_GPIO_Port,key1_Pin)==0)
		{
			osDelay(20);
			if(HAL_GPIO_ReadPin(key1_GPIO_Port,key1_Pin)==0)
			{
				if(LED1Handle==NULL)
				{
					printfl("1 no ,creat 1\r\n");
					osThreadDef(LED1, LED_Task1, osPriorityNormal, 0, 128);
					LED1Handle = osThreadCreate(osThread(LED1), NULL);
					printfl("already creat1\r\n");
					while((HAL_GPIO_ReadPin(key1_GPIO_Port,key1_Pin)==0));
				}
				else
				{
					printfl("delete 1");
					vTaskDelete(LED1Handle);
					LED1Handle=NULL;
					while((HAL_GPIO_ReadPin(key1_GPIO_Port,key1_Pin)==0));
					
				}
			
			}
			
		}
		
		
		
  }
  /* USER CODE END key1_task */
}

到了這里,關于STM32CubeMx學習FreeRTOS的絕對延時和相對延時的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

領支付寶紅包贊助服務器費用

相關文章

  • STM32基于HAL庫和STM32CubeMX的實時操作系統(tǒng)FreeRtOS開發(fā)

    STM32基于HAL庫和STM32CubeMX的實時操作系統(tǒng)FreeRtOS開發(fā)

    1、FreeRTOS RTOS是一類操作系統(tǒng),μC/OS,F(xiàn)reeRTOS,RTX,RT-Thread 等這些都是RTOS 類的操作系統(tǒng) FreeRTOS 是眾多RTOS 類操作系統(tǒng)中的一種,F(xiàn)reeRTOS 十分的小巧,可以在資源有限的微控制器中運行,F(xiàn)reeRTOS 也不僅僅局限于在微控制器中使用。就單從文件數(shù)量上來看FreeRTOS 要比μC/OS 少得多

    2024年02月21日
    瀏覽(19)
  • STM32 CubeMX (Freertos任務:創(chuàng)建、刪除、掛起、恢復)

    STM32 CubeMX (Freertos任務:創(chuàng)建、刪除、掛起、恢復)

    學習使用Freertos第一步 FreeRTOS 任務管理,您需要掌握以下幾個關鍵函數(shù): 1. xTaskCreate() :用于創(chuàng)建一個任務,需要指定任務函數(shù)、任務名稱、任務棧大小和優(yōu)先級等參數(shù)。 2. vTaskDelete() :用于刪除一個任務,可以由任務自身或其他任務調用。 3. vTaskDelay() :用于使當前任務進

    2024年02月12日
    瀏覽(27)
  • STM32cubemx對FreeRTOS的適配(工程模板配置)

    STM32cubemx對FreeRTOS的適配(工程模板配置)

    本篇文章將帶大家使用STM32cubemx對FreeRTOS進行工程模板的配置。 1.開始工程的創(chuàng)建: 2.芯片型號選擇: 3.修改時鐘為TIM8: 在FreeRTOS中SYSTICK需要為FreeRTOS提供心跳,故這里選擇TIM8替換SYNTICK。 4.配置RCC: 5.配置FreeRTOS: 6.開啟串口方便調試和觀察: 7.工程路徑及編譯器選擇等:

    2024年02月07日
    瀏覽(25)
  • 【STM32】利用CubeMX對FreeRTOS用按鍵控制任務

    【STM32】利用CubeMX對FreeRTOS用按鍵控制任務

    對于FreeRTOS中的操作,最常用的就是創(chuàng)建、刪除、暫停和恢復任務。 此次實驗目標: 1.創(chuàng)建任務一:LED1每間隔1秒閃爍一次,并通過串口打印 2.創(chuàng)建任務二:LED2每間隔0.5秒閃爍一次,并通過串口打印 3.創(chuàng)建任務三:通過KEY1實現(xiàn)對任務一的創(chuàng)建和刪除。 按鍵按下以后如果有任

    2024年02月13日
    瀏覽(37)
  • STM32CubeMX+FATFS+FREERTOS讀寫U盤

    STM32CubeMX+FATFS+FREERTOS讀寫U盤

    軟件:STM32CubeMX V6.6.1 、 KEIL5 V5.29 硬件:STM32F429ZET6 USB_OTG_FS:PA11/PA12引腳 USART1:PA9/PA10,方便輸出調試信息 1)SYS下載方式選擇SW方式,因為要使用FREERTOS,提前將時鐘源修改為TIM7(其他定時器也可以) 2) RCC設置,選擇高速外部晶振HSE(根據(jù)具體硬件選擇) 3)USART1設置,方便輸出調

    2024年01月18日
    瀏覽(35)
  • STM32 CubeMX (第三步Freertos中斷管理和軟件定時)

    STM32 CubeMX (第三步Freertos中斷管理和軟件定時)

    學習使用Freertos第三步 在 FreeRTOS 中,中斷管理和軟件定時: · taskENTER_CRITICAL() ·; 是一個函數(shù)在 FreeRTOS 中使用的,用于進入臨界區(qū)(critical section)。在臨界區(qū)內,中斷會被禁用,這樣可以確保在多任務環(huán)境下共享資源的安全性。你可以在需要保護共享資源的代碼段中使用 ·

    2024年02月12日
    瀏覽(41)
  • STM32CubeMX+STM32F407+FreeRTos+LAN8720 以太網通信實現(xiàn)數(shù)據(jù)收發(fā)功能

    STM32CubeMX+STM32F407+FreeRTos+LAN8720 以太網通信實現(xiàn)數(shù)據(jù)收發(fā)功能

    目錄 前言 一、STM32CubeMX配置 二、修改代碼 三、硬件測試 總結 該工程應用的以太網芯片是LAN8720,代碼是基于STM32CUbeMx6.2.1配置生成的,在CubeMx中配置了ETH和LWIP,還有串口1和FREERTOS,最后通過創(chuàng)建任務函數(shù)實現(xiàn)udp的以太網數(shù)據(jù)收發(fā)功能。在測試中,可以在電腦的DOS窗口ping通在

    2024年02月08日
    瀏覽(26)
  • STM32H743使用CubeMX配置Lwip、Freertos

    STM32H743使用CubeMX配置Lwip、Freertos

    硬件:野火挑戰(zhàn)者開發(fā)板STM32H743IIT6 軟件版本: CubeMX 6.7.0 STM32CubeH7 Firmware Package V1.11.0 / 04-Nov-2022 原理圖: 時鐘樹參數(shù)僅供參考 MPU配置需要查相關資料,一知半解 修改GPIO與硬件原理圖對應,串口參數(shù)默認 參數(shù)配置與硬件對應 此處網絡收發(fā)地址非常重要?。?! 使能中斷 串口

    2024年02月07日
    瀏覽(42)
  • STM32 CubeMX (第一步Freertos任務管理:創(chuàng)建、刪除、掛起、恢復)

    STM32 CubeMX (第一步Freertos任務管理:創(chuàng)建、刪除、掛起、恢復)

    學習使用Freertos第一步 FreeRTOS 任務管理,您需要掌握以下幾個關鍵函數(shù): 1. xTaskCreate() :用于創(chuàng)建一個任務,需要指定任務函數(shù)、任務名稱、任務棧大小和優(yōu)先級等參數(shù)。 2. vTaskDelete() :用于刪除一個任務,可以由任務自身或其他任務調用。 3. vTaskDelay() :用于使當前任務進

    2024年02月12日
    瀏覽(32)
  • 基于STM32CubeMx配置FreeRtos以及USB虛擬串口步驟詳解

    基于STM32CubeMx配置FreeRtos以及USB虛擬串口步驟詳解

    ? ?Debug:推薦選擇 Serial Wire (方便使用STLink打斷點在線調試) 中間兩項默認Disable就好 TimeBase Source:若需要配置FreeRtos則不能選擇SysTick,隨機選擇一個TIM定時器即可,這里我選擇TIM1定時器。 (解釋:裸機的時鐘源默認是SysTick,但是開啟FreeRtos后,F(xiàn)reeRtos會占用SysTick,用于任

    2024年02月05日
    瀏覽(28)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包