当前位置: 首页 > news >正文

吕梁网站定制网站图片制作

吕梁网站定制,网站图片制作,帮小公司代账一个月费用,柳州网站seo网站sSTM32 CubeMX STM32 CubeMX (第三步Freertos中断管理和软件定时) STM32 CubeMX一、STM32 CubeMX设置时钟配置HAL时基选择TIM1(不要选择滴答定时器;滴答定时器留给OS系统做时基)使用STM32 CubeMX 库,配置Fre…

STM32 CubeMX


STM32 CubeMX (第三步Freertos中断管理和软件定时)

  • STM32 CubeMX
  • 一、STM32 CubeMX设置
    • 时钟配置
    • HAL时基选择TIM1(不要选择滴答定时器;滴答定时器留给OS系统做时基)
    • 使用STM32 CubeMX 库,配置Freertos
    • 使能定时器,计时1s中断
    • 配置定时器中断优先级
  • 二、实验一,中断管理
    • 任务代码
    • 实验现象
  • 三,实验二:软件定时器
    • 初始化配置
    • 初始化代码
    • 任务代码
    • 实验现象


学习使用Freertos第三步
在 FreeRTOS 中,中断管理和软件定时:

  1. ·taskENTER_CRITICAL()·; 是一个函数在 FreeRTOS 中使用的,用于进入临界区(critical section)。在临界区内,中断会被禁用,这样可以确保在多任务环境下共享资源的安全性。你可以在需要保护共享资源的代码段中使用
  2. · taskENTER_CRITICAL()·; 来禁用中断,然后在临界区结束时使用 taskEXIT_CRITICAL();
    来重新启用中断。这样可以防止多个任务同时访问共享资源而导致的竞态条件。

一、STM32 CubeMX设置

时钟配置

在这里插入图片描述

HAL时基选择TIM1(不要选择滴答定时器;滴答定时器留给OS系统做时基)

在这里插入图片描述

使用STM32 CubeMX 库,配置Freertos

选择CMISS_V1接口就可以满足Freertos接口;且代码量比CMISS_V2小(CMISS_V2支持更多的RTOS接口,所以代码量比CMISS_V1多)
在这里插入图片描述

使能定时器,计时1s中断

在这里插入图片描述

配置定时器中断优先级

优先级(0~4)不归freertos管理
在这里插入图片描述

二、实验一,中断管理

  1. taskENTER_CRITICAL(); 是一个函数在 FreeRTOS 中使用的,用于进入临界区(critical section)。在临界区内,中断会被禁用,这样可以确保在多任务环境下共享资源的安全性。你可以在需要保护共享资源的代码段中使用
  2. taskENTER_CRITICAL(); 来禁用中断,然后在临界区结束时使用 taskEXIT_CRITICAL();
    来重新启用中断。这样可以防止多个任务同时访问共享资源而导致的竞态条件。
HAL_TIM_Base_Start_IT(&htim2);//使能
HAL_TIM_Base_Start_IT(&htim3);//使能
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{/* USER CODE BEGIN Callback 0 *//* USER CODE END Callback 0 */if (htim->Instance == TIM1) {HAL_IncTick();}/* USER CODE BEGIN Callback 1 */if (htim->Instance == TIM2) {printf("htim2\r\n");		// printf输出字符串}if (htim->Instance == TIM3) {printf("htim3\r\n");		// printf输出字符串}/* USER CODE END Callback 1 */
}

任务代码

void sendTask1(void const * argument)
{/* USER CODE BEGIN sendTask1 */BaseType_t xsatus;uint32_t buff=9600;/* Infinite loop */for(;;){HAL_Delay(5000);printf("关闭中断\r\n");		// printf输出字符串taskENTER_CRITICAL();//进入临界区,被管理的中断会被禁用HAL_Delay(5000);printf("打开中断\r\n");		// printf输出字符串taskEXIT_CRITICAL();//退出临界区}/* USER CODE END sendTask1 */
}

实验现象

在这里插入图片描述

三,实验二:软件定时器

初始化配置

在这里插入图片描述
在这里插入图片描述

初始化代码

  /* definition and creation of myTimer01 */osTimerDef(myTimer01, Callback01);myTimer01Handle = osTimerCreate(osTimer(myTimer01), osTimerPeriodic, NULL);/* definition and creation of myTimer02 */osTimerDef(myTimer02, Callback02);myTimer02Handle = osTimerCreate(osTimer(myTimer02), osTimerPeriodic, NULL);xTimerChangePeriod(myTimer01Handle,1000,100);xTimerChangePeriod(myTimer02Handle,1500,100);

任务代码

void sendTask1(void const * argument)
{/* USER CODE BEGIN sendTask1 */BaseType_t xsatus;uint32_t buff=9600;/* Infinite loop */for(;;){xTimerStart(myTimer01Handle,portMAX_DELAY);xTimerStart(myTimer02Handle,portMAX_DELAY);printf("打开中断\r\n");		// printf输出字符串osDelay(10000);xTimerStop(myTimer01Handle,portMAX_DELAY);xTimerStop(myTimer02Handle,portMAX_DELAY);printf("关闭中断\r\n");		// printf输出字符串osDelay(5000);}/* USER CODE END sendTask1 */
}

实验现象

在这里插入图片描述

http://www.yayakq.cn/news/99561/

相关文章:

  • 网站内容该怎么做深圳企业建网站公司
  • 花垣做网站asp商品网站源码
  • 关于网站空间常州网站建设智博
  • 什么叫子网站广州网站百度排名推广
  • 如何制作简易 网站境外域名注册
  • 网站开发工具.晴天娃娃seo这个行业怎么样
  • 哪个网站可以做puzzlewordpress月亮
  • 专业做化妆品的网站做app用什么软件
  • 国外素材网站上传视频网站源码
  • 全网营销型网站做网站的要花多少钱
  • 有专门做市场分析的网站么wordpress 文档导入
  • 成立一个做网站的工作室书籍类wordpress主题
  • 魔客吧是什麼程序做的网站网站建设后怎么做主页
  • 厦门工商网站查询企业信息海口市做网站的公司
  • 广州网站建设哪家有网站建设与管理适合女生学吗
  • 怎么将公司网站设成首页wordpress mysql 5.7
  • 天津做网站58炒股网站怎么做
  • 青岛网站建设制作长沙百度网站排名优化
  • 无锡网站制作优化排名查国外企业用什么软件
  • 免费个人网站怎么做网站设计方案
  • 义乌企业网站设计成都网站建设技术
  • 临沂网站建设网站推广中国科技大学
  • 茂名建设企业网站2018年网站建设的数据
  • 江苏省宿迁市建设局网站首页wordpress添加评论
  • 网站后台登录密码修改取消网站备案流程
  • 内容型网站的运营网页图片尺寸多大合适
  • 网站优化教程网站域名到期怎么续费
  • 为什么网站不见了兼职做网站的费用
  • asp 网站 500灯饰网站建设
  • 寒亭区住房和城乡建设局网站上海做网站 公司有哪些