硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3237|回复: 4
收起左侧

[FreeRTOS] 咨询个中断和任务切换问题

[复制链接]

62

主题

77

回帖

263

积分

高级会员

积分
263
发表于 2018-7-10 15:33:00 | 显示全部楼层 |阅读模式
      请问freertos在系统滴答中断与其他中断时候,有没有判断目前最高优先级的任务?如果有最高优先级是不是会使得目前的任务处于就绪态、退出中断后执行更高优先级任务?
回复

使用道具 举报

36

主题

1446

回帖

1554

积分

至尊会员

积分
1554
发表于 2018-7-10 18:22:50 | 显示全部楼层
freertos系统在退出中断前,有判断
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107108
QQ
发表于 2018-7-11 11:52:01 | 显示全部楼层
滴答定时器中断里面有判断。
  1. void xPortSysTickHandler( void )
  2. {
  3.         /* The SysTick runs at the lowest interrupt priority, so when this interrupt
  4.         executes all interrupts must be unmasked.  There is therefore no need to
  5.         save and then restore the interrupt mask value as its value is already
  6.         known. */
  7.         ( void ) portSET_INTERRUPT_MASK_FROM_ISR();
  8.         {
  9.                 /* Increment the RTOS tick. */
  10.                 if( xTaskIncrementTick() != pdFALSE )
  11.                 {
  12.                         /* A context switch is required.  Context switching is performed in
  13.                         the PendSV interrupt.  Pend the PendSV interrupt. */
  14.                         portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT;
  15.                 }
  16.         }
  17.         portCLEAR_INTERRUPT_MASK_FROM_ISR( 0 );
  18. }
复制代码



而其它的中断里面,用户在里面添加了相应的API,退出才会根据最高优先级任务进行切换

回复

使用道具 举报

62

主题

77

回帖

263

积分

高级会员

积分
263
 楼主| 发表于 2018-7-12 11:40:13 | 显示全部楼层
eric2013 发表于 2018-7-11 11:52
滴答定时器中断里面有判断。

xiex 谢谢。
回复

使用道具 举报

62

主题

77

回帖

263

积分

高级会员

积分
263
 楼主| 发表于 2018-7-12 11:40:20 | 显示全部楼层
sanit 发表于 2018-7-10 18:22
freertos系统在退出中断前,有判断

谢谢。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-18 12:10 , Processed in 0.260790 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表