历史上的今天
返回首页

历史上的今天

今天是:2024年12月18日(星期三)

正在发生

2018年12月18日 | STM32使用freertos时在中断中调用系统函数的注意点

2018-12-18 来源:eefocus

CORTEX内核的优先级是数值越小优先级越高,即0是最高优先级。FreeRTOS正好相反,为了满足某些应用对中断实时性要求高的需求,使得中断优先级高于某个值之后,就不能调用操作系统的内核函数来提高实时性。而我们经常所犯的错误就是将中断的优先级设置的高于这个值,却还在中断中调用操作系统提供的API引起的。当把优先级改小也就是数值改大之后,程序能够正常运行。


注意点:  


1:首先要将中断的嵌套设置为抢占优先级。


2:将freertos系统内核中断(configKERNEL_INTERRUPT_PRIORITY)的优先级设置成最低。


3:将freertos的最大系统调用中断优先级(configMAX_SYSCALL_INTERRUPT_PRIORITY)设置为合适的优先级,比如11。


4:如果有用户中断函数调用到freertos提供的系统函数,一定要使用带FromISR的freertos提供的系统函数,并且这个用户中断的优先级一定要在configKERNEL_INTERRUPT_PRIORITY和configMAX_SYSCALL_INTERRUPT_PRIORITY的优先级之间。


5:其他没有调用到freertos提供的系统函数的中断的优先级没有特别要求。


FREERTOS中的优先级数值设定的参数是configMAX_SYSCALL_INTERUPT_PRORITY。默认值是5,所以要想在中断中使用操作系统函数需要将中断的优先级设置的大于等于5.


推荐阅读

史海拾趣

Advanced Analog公司的发展小趣事

Advanced Analog自1999年创立起,便专注于电源管理IC的设计及研发。面对当时电子市场的激烈竞争,公司凭借对技术的深刻理解和敏锐的市场洞察力,成功开发出多款高性能、高可靠性的电源管理IC产品,迅速在行业中崭露头角。通过不断的技术创新和优化,Advanced Analog逐渐在电源管理IC领域建立起自己的技术优势和品牌影响力。

Genesis Microchip公司的发展小趣事

在20世纪中期,GI作为一家新兴的电子设备制造商,以其对新兴技术的敏锐洞察力和创新精神而崭露头角。公司创始人意识到半导体技术的巨大潜力,决定投入大量资源进行研发。通过不懈努力,GI成功推出了多款基于半导体技术的创新产品,如早期的晶体管收音机和电视机,这些产品不仅在当时市场上引起了轰动,也为公司后续的快速发展奠定了坚实基础。这一阶段的成功,标志着GI在电子行业技术创新的道路上迈出了坚实的一步。

Cincon公司的发展小趣事

随着业务的快速发展,Cincon开始将目光投向国际市场。1999年,公司在美国加州设立了办事处,以便更好地服务北美市场。同一年,为了应对日益增长的生产需求,Cincon在中国东莞设立了新工厂。这些举措极大地提升了公司的生产能力和国际市场竞争力,为Cincon的全球化发展打下了坚实的基础。

High Voltage Semiconductor Inc公司的发展小趣事

美高测的起源可以追溯到上世纪80年代末,当时电力工程师斯坦利·珀希尔(虚构对应美高测创始人)在父亲的高压设备公司中工作,积累了深厚的高压测试技术经验。1992年,他带着对高压测试技术的深刻理解,从Hipotronics公司独立出来,创立了美高测。公司初期便专注于研发更高效、更安全的高压测试设备,特别是在交流串联谐振技术和C低频技术上的突破,为公司在高压半导体测试领域奠定了坚实的基础。

Fujitsu America公司的发展小趣事

Fujitsu America作为Fujitsu Limited在北美地区的子公司,其发展历程与Fujitsu全球公司紧密相连。Fujitsu最初成立于1935年,最初是一家电信设备制造商,以生产电话交换机起家。随着技术的不断进步,Fujitsu逐渐扩展到信息与通信技术(ICT)领域,成为全球领先的ICT企业。Fujitsu America在这一过程中发挥了重要作用,不仅继承了Fujitsu在技术创新上的优良传统,还根据北美市场的需求特点,提供了定制化的ICT解决方案和服务,推动了公司在北美市场的快速发展。

宇阳科技(EYANG)公司的发展小趣事

作为电子行业的领军企业之一,宇阳科技始终坚持以创新为驱动的发展战略。公司不断投入研发资金,加强技术团队建设,积极引进先进技术和管理经验。通过持续创新和技术升级,宇阳科技成功推出了多款具有自主知识产权的新型电子元器件产品,并引领了行业潮流。同时,公司还积极参与行业标准制定和技术交流合作等活动,为推动电子行业的发展做出了积极贡献。

以上五个故事梗概概述了宇阳科技在电子行业中的发展历程和主要成就。这些故事不仅展现了公司的技术实力和市场地位,也体现了公司不断创新、追求卓越的发展理念。

问答坊 | AI 解惑

关于无线通讯常用dB值的计算方法

dBm=10log(Pout/1mW),其中Pout是以mW为单位的功率值dBmV=20log(Vout /1mV),其中Vout是以mV为单位的电压值dBuV=20log(Vout /1uV),其中Vout是以uV为单位的电压值换算关系:Pout=Vout×Vout/RdBmV=10log(R/0.001)+dBm,R为负载阻抗dBuV=60+dB ...…

查看全部问答>

手机电池会爆炸!

手机电池会爆炸!这不是危言耸听,而是发生在我们身边的事实。手机品牌商因陷入 “电池门”而烦恼,继而在生产环节上草木皆兵;而各种来路不明的手机电池在市场上 依然活跃。对消费者来说,“黑芯”手机电池就是一个随时有可能爆炸的手雷。 ...…

查看全部问答>

电动智能小车(完整论文),绝对值得一看

本帖最后由 paulhyde 于 2014-9-15 03:04 编辑 小车    …

查看全部问答>

监护仪故障的元件级分析与维修

医用监护仪是一种能够对人体重要的胜利、生化指标有选择地进行经常性或连续的检测,并且具有存储、显示、分析和控制功能,对超出规定范围的参数发出警报的系统。由于它可以实时、连续、长时间地检测病人的重要的生命参数,因此,成为医院数量较大的 ...…

查看全部问答>

请问51开发板可以用来做PIC开发么

PIC18,都是40个引脚不知道可不可以通用,用来自学.…

查看全部问答>

求助:LINUX 系统下支持MTP协议吗?

LINUX 系统下支持MTP协议吗?如果支持那么如何实现MTP协议控制消息的发送和接收…

查看全部问答>

什么叫做TOC?

如题。参考下面这篇帖子:http://blog.chinaunix.net/u1/38994/showart_303466.html …

查看全部问答>

STR710F的SPI接口驱动EEPROM型号为AT25128

STR710F的SPI接口驱动EEPROM型号为AT25128,时序也没什么问题,结果却不对,请高手指点 /**************************C文件****************************/ #include "at251.h" //#include  "bspi.h" /////////////////// ...…

查看全部问答>

BeagleBone 学习笔记06_2012_10_08

嗯,开贴聊聊开发环境 linux开发主要是命令行啦,不过我也喜欢用IDE的,我主要用Eclipse和qtsdk …

查看全部问答>