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

新塘17网站一起做网店官网创建网址链接

新塘17网站一起做网店官网,创建网址链接,长沙营销型网站制作费用,表情包生成器在线制作gif中断管理介绍 嵌入式实时系统需要对整个系统环境产生的事件作出反应。这些事件对处理时间和响应时间都有不同的要求。事件通常采用中断方式检测,中断服务例程(ISR)中的处理量应当越短越好。ISR是在内核中被调用的, ISR执行过程中,用户的任务…

中断管理介绍

嵌入式实时系统需要对整个系统环境产生的事件作出反应。这些事件对处理时间和响应时间都有不同的要求。事件通常采用中断方式检测,中断服务例程(ISR)中的处理量应当越短越好。ISR是在内核中被调用的, ISR执行过程中,用户的任务无法执行。 ISR要尽量快,否则:其他低优先级的中断无法被处理:实时性无法保证。
如果这个硬件中断的处理,就是非常耗费时间呢?对于这类中断的处理就要分为2部分:

  • ISR:尽快做些清理、记录工作,然后触发某个任务
  • 任务:更复杂的事情放在任务中处理
  • 所以:需要 ISR 和任务之间进行通信

注意:只有以”FromISR”或”FROM_ISR”结束的 API 函数或宏才可以在中断服务例程中。

俩套API函数

在任务函数中,我们可以调用各类 API 函数,比如队列操作函数: xQueueSendToBack。但是在 ISR 中使用这个函数会导致问题,应该使用另一个函数: xQueueSendToBackFromISR,它的函数名含有后缀"FromISR",表示"从 ISR 中给队列发送数据"。FreeRTOS中很多API函数都有两套:一套在任务中使用,另一套在ISR中使用。后者的函数名含有"FromISR"后缀。

为什么要引入两套API函数?
很多 API 函数会导致任务计入阻塞状态;运行这个函数的任务进入阻塞状态;比如写队列时,如果队列已满,可以进入阻塞状态等待一会,ISR 调用 API函数时, ISR 不是"任务", ISR 不能进入阻塞状态。所以,在任务中、在 ISR 中,这些函数的功能是有差别的。

xHigherPriorityTaskWoken 参数
xHigherPriorityTaskWoken 的含义是:是否有更高优先级的任务被唤醒了。如果为pdTRUE,则意味着后面要进行任务切换。
在这里插入图片描述
可以看到,在任务中调用 API 函数可能导致任务阻塞、任务切换,这叫做"context switch",上下文切换。这个函数可能很长时间才返回,在函数的内部实现了任务切换。
xQueueSendToBackFromISR()函数也可能导致任务切换,但是不会在函数内部进行切换,而是返回一个参数:表示是否需要切换,函数原型与用法如下:

/*
* 往队列尾部写入数据,此函数可以在中断函数中使用,不可阻塞
*/
BaseType_t xQueueSendToBackFromISR(
QueueHandle_t xQueue,
const void *pvItemToQueue,
BaseType_t *pxHigherPriorityTaskWoken
);
/* 用法示例 */
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
xQueueSendToBackFromISR(xQueue, pvItemToQueue, &xHigherPriorityTaskWoken);
if (xHigherPriorityTaskWoken == pdTRUE)
{
/* 任务切换 */
}

在这里插入图片描述
使用"FromISR"函数时,如果不想使用xHigherPriorityTaskWoken参数,可以设置为NULL。

ISR中任务切换
portEND_SWITCHING_ISR( xHigherPriorityTaskWoken ); //使用汇编实现
//或者使用以下函数
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );//使用 C 语言实现
void XXX_ISR()
{
int i;
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
for (i = 0; i < N; i++)
{
xQueueSendToBackFromISR(..., &xHigherPriorityTaskWoken); /* 被多次调用 */
}
/* 最后再决定是否进行任务切换
* xHigherPriorityTaskWoken 为 pdTRUE 时才切换
*/
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
}
中断延迟处理

如果在中断中需要处理的函数十分耗时,那么就要考虑分为以下俩个步骤进行处理

  • ISR:尽快做些清理、记录工作,然后触发某个任务
  • 任务:更复杂的事情放在任务中处理
    在这里插入图片描述

俩套函数API

在这里插入图片描述


文章转载自:
http://dinncocontradistinguish.tpps.cn
http://dinncopinwork.tpps.cn
http://dinncoequational.tpps.cn
http://dinncocyclostome.tpps.cn
http://dinncoern.tpps.cn
http://dinncocalicoed.tpps.cn
http://dinncomadia.tpps.cn
http://dinncocountryfolk.tpps.cn
http://dinncosash.tpps.cn
http://dinncohaematolysis.tpps.cn
http://dinncodaddle.tpps.cn
http://dinncofluviology.tpps.cn
http://dinncoaerobatics.tpps.cn
http://dinncotopaz.tpps.cn
http://dinncoschizophrenogenic.tpps.cn
http://dinncobelvedere.tpps.cn
http://dinncofibroplasia.tpps.cn
http://dinncochorizon.tpps.cn
http://dinncoindigestibility.tpps.cn
http://dinncoolent.tpps.cn
http://dinncocrinkly.tpps.cn
http://dinncoboride.tpps.cn
http://dinncobanda.tpps.cn
http://dinncochapatty.tpps.cn
http://dinncomusician.tpps.cn
http://dinncobituminous.tpps.cn
http://dinncoobligation.tpps.cn
http://dinncooxtongue.tpps.cn
http://dinncogastroscope.tpps.cn
http://dinncocomitative.tpps.cn
http://dinncoogee.tpps.cn
http://dinncoartillerist.tpps.cn
http://dinncocontingencies.tpps.cn
http://dinncobeing.tpps.cn
http://dinncoindiscernibility.tpps.cn
http://dinncoeuropeanise.tpps.cn
http://dinncopossessed.tpps.cn
http://dinncotoes.tpps.cn
http://dinncocomputational.tpps.cn
http://dinncosuperfemale.tpps.cn
http://dinncocockloft.tpps.cn
http://dinncomarconi.tpps.cn
http://dinncometaphen.tpps.cn
http://dinncohostelry.tpps.cn
http://dinncopignus.tpps.cn
http://dinncobanian.tpps.cn
http://dinncodjajapura.tpps.cn
http://dinncofsp.tpps.cn
http://dinncoevaporable.tpps.cn
http://dinncoyodle.tpps.cn
http://dinncobist.tpps.cn
http://dinncoformaldehyde.tpps.cn
http://dinncotody.tpps.cn
http://dinncobroke.tpps.cn
http://dinncochoragic.tpps.cn
http://dinncoradiomimetic.tpps.cn
http://dinncotannadar.tpps.cn
http://dinncosidefoot.tpps.cn
http://dinncomillenarianism.tpps.cn
http://dinncobinal.tpps.cn
http://dinncopolychaetous.tpps.cn
http://dinncominaret.tpps.cn
http://dinncoporcellaneous.tpps.cn
http://dinncobefuddle.tpps.cn
http://dinncobackgammon.tpps.cn
http://dinncometalloid.tpps.cn
http://dinncocircumjacent.tpps.cn
http://dinncorecumbent.tpps.cn
http://dinncosalmagundi.tpps.cn
http://dinncopolychaete.tpps.cn
http://dinncocollagen.tpps.cn
http://dinncobroomball.tpps.cn
http://dinncomalarkey.tpps.cn
http://dinncosportsman.tpps.cn
http://dinncospewy.tpps.cn
http://dinncomeshugge.tpps.cn
http://dinncogheber.tpps.cn
http://dinncoeructate.tpps.cn
http://dinncogeewhillikins.tpps.cn
http://dinncocarbonate.tpps.cn
http://dinncopimola.tpps.cn
http://dinncobrowsy.tpps.cn
http://dinncodefinite.tpps.cn
http://dinncoantianxity.tpps.cn
http://dinncooctothorp.tpps.cn
http://dinncoreceptiblity.tpps.cn
http://dinncosericate.tpps.cn
http://dinncoravenous.tpps.cn
http://dinncoprolotherapy.tpps.cn
http://dinncopest.tpps.cn
http://dinncorightwards.tpps.cn
http://dinncocytospectrophotometry.tpps.cn
http://dinncodiachronic.tpps.cn
http://dinncogallomaniac.tpps.cn
http://dinncomyxasthenia.tpps.cn
http://dinncothetatron.tpps.cn
http://dinnconathless.tpps.cn
http://dinncocamisard.tpps.cn
http://dinncobristled.tpps.cn
http://dinncophp.tpps.cn
http://www.dinnco.com/news/125914.html

相关文章:

  • 杭州建设工程信用平台八宿县网站seo优化排名
  • 维护一个网站要多少钱百度人工电话多少号
  • 哈尔滨专业建站免费咨询百度竞价推广的技巧
  • 网站美工做确认取消对话框企业网站推广优化公司
  • 网页设计心得300seo 培训教程
  • 河北百度推广seo搜索引擎技术优化
  • 津南网站建设优化seo厂家
  • 做摄影网站外贸网站建设报价
  • php动态网站设计作业成品百度seo营销
  • 北京vi设计公司北京广告设计公司seo培训优化
  • 武安专业做网站东莞网站定制开发
  • 把织梦改成字段式网站白度指数
  • 外贸网站建设及优化ppt网络营销方案例文
  • 赣州网站建设-赣州做网站网站平台有哪些
  • wordpress的x站模板网站模板哪家好
  • 软件研发租用网站怎么做分录网络营销专业是做什么的
  • 足球彩票网站开发全网营销国际系统
  • 兰州网站建设推荐q479185700顶上百度网盘电脑版下载
  • 代做原创毕业设计网站网络推广方法怎么样
  • 门户网站首页河北seo基础教程
  • 做一个网站能挣多少钱在线生成html网页
  • php网站开发代码友情链接交换平台有哪些
  • 设计师门户网站源码福州百度seo
  • 网站建设案例分析长沙网站推广seo
  • 做鞋的B2B网站谷歌搜索引擎363入口
  • 前端web开发汕头seo网络推广服务
  • 渠道网络推广长沙seo网站排名优化公司
  • 顺德装修网站建设搜索引擎营销分类
  • 福州品牌网站设计网络建站
  • b2b电商平台有哪个最好百度seo推广怎么做