中断向量嵌套控制器是用来管理所有中断和事件的,包括中断的使能和除能,中断的优先级。这个是属于内核的东西,所以ST的参考手册上对它的描述较少,但他又是十分重要的东西,要了解它就要看ARM的《Cortex™-M4 Devices Generic User Guide》。
相关寄存器
译自《Cortex™-M4 Devices Generic UserGuide》,若有错误,请以原文为准。
中断使能寄存器NVIC_ISER[8]
中断使能寄存器共有8个,ISER[0]设置0~31号中断的使能,ISER[1]设置32~63号中断的使能,如此类推。以下以ISER[0]为例:
[31:0] SETENA中断设置使能位。
写:
0 =无影响
1 =使能中断。
读:
0 =中断是禁止的
1=中断已经被使能
如果要使能0号中断,就向该寄存器的0位写1,如果要使能38号中断,就向NVIC_ISER[1]的6位写1,如此类推,至于哪个中断对应哪个中断号,请参见参考手册《RM0090 Reference manual》中的第9章Table 30. Vector table的Position一列。
中断除能寄存器NVIC_ICER[8]
中断除能寄存器共有8个,ICER[0]设置0~31号中断除能,ICER[1]设置32~63号中断的使能,如此类推。以下以ICER[0]为例:
[31:0] SETENA中断设置使能位。
写:
0 =无影响
1 =除能中断。
读:
0 =中断是禁止的
1=中断已经被使能
以下寄存器均为8个,仅以***R[0]为例
中断挂起设置寄存器NVIC_ISPR[8]
[31:0]SETPEND中断挂起设置位。
写:
0 =无影响
1 =改变中断状态为挂起。
读:
0 =中断没有挂起
1 =中断正在等待处理。
解除中断挂起寄存器NVIC_ICPR[8]
[31:0] CLRPEND中断清除挂起位。
写:
0 =无影响
1 =删除中断的挂起状态。
读:
0 =没有挂起的中断
1 =中断正在等待处理。
中断激活位寄存器NVIC_IABR[8]
[31:0]中断活跃的标志:
0 =中断不活跃
1 =中断活跃。
如果相应的中断的状态是作为一个活跃的或活跃和正被挂起的,读该位将会读出1。
中断优先级寄存器NVIC_IPR[60]
中断优先级寄存器为60个32位寄存器,st的结构体中用了240个8位的字节数组NVIC->IP[240]来映射,每一个对应一个中断的优先级。
ARM的中断优先级分两种,抢占优先级和响应优先级。
具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。
当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。
中断优先级分组就是把优先级寄存器分割,分开哪几位是响应优先级,哪几位是抢占优先级。至于怎样设置分组,就要看一个不属于NVIC的寄存器了。
应用中断和复位控制寄存器SCB_AIRCR
在这里我们需要看的是[31:16]位和[10:8]位,[31:16]位是识别码,用以保护此寄存器不会被意外修改,[10:8]位就是中断优先级分组的设置位。
[31:16]
写:VECTKEYSTAT
读:VECTKEY
RW注册键:
读为0xFA05
写入时,要写0x05FA到 VECTKEY,否则写入将被忽略。
[10:8]中断优先级
每一个ARM的M4中断优先级设计为可编程的8位,具体到stm32f4就只留给用户4位共16级的可编程优先级,其中低4位已被占用。也就是说stm32f4的优先级分组情况如下表所示:
[10:8] | 分割点 | 抢占优先级位 | 响应优先级位 | 抢占优先级数 | 响应优先级数 |
0b011 | xxxx | [7:4] | none | 16 | 1 |
0b100 | xxx.y | [7:5] | [4] | 8 | 2 |
0b101 | xx.yy | [7:6] | [5:4] | 4 | 4 |
0b110 | x.yyy | [7] | [6:4] | 2 | 8 |
0b111 | yyyy | none | [7:4] | 1 | 16 |
最后一个NVIC的寄存器
软件触发中断寄存器NVIC_STIR
当SCB_CCR的USERSETMPEND位为1时,无特权的用户程序才能写此寄存器。
[31:9]保留。
[8:0] INTID ID号中断触发,
范围0-239。例如,0x03的指定中断IRQ3触发。
上一篇:STM32M3_GPIO寄存器&GPIO工作方式
下一篇:寄存器名称和地址的映射分析
推荐阅读
史海拾趣
关于Fuji Terminal Industry Co., Ltd.(富士端子工业有限公司)在电子行业中的发展起来的相关故事,由于直接关于该公司的详细发展历程和具体故事可能较为有限,且该公司可能更多地专注于特定领域(如端子、连接器等的制造),以下是根据一般行业经验和公司可能经历的发展路径,构建的五个相关故事:
1. 初创与专业化定位
在电子行业的早期,Fuji Terminal Industry Co., Ltd.作为一家新兴企业,凭借对端子技术的深入研究和市场需求的敏锐洞察,选择了专业化的发展道路。公司创始人或核心团队凭借在电子元件领域的丰富经验,决定专注于端子、连接器等基础电子元件的研发与生产。通过不断的技术积累和产品优化,公司逐渐在行业内树立了专业、可靠的形象。
2. 技术创新与品质提升
随着电子行业的快速发展,Fuji Terminal Industry Co., Ltd.意识到技术创新和品质提升是企业持续发展的关键。公司加大了研发投入,引进先进生产设备和技术人才,致力于开发更高性能、更可靠的端子产品。同时,公司建立了严格的质量控制体系,确保每一件产品都能达到客户的高标准要求。这些努力不仅提升了公司的市场竞争力,也赢得了客户的广泛信赖。
3. 市场拓展与国际化战略
在稳固国内市场的同时,Fuji Terminal Industry Co., Ltd.积极实施国际化战略,将目光投向了更广阔的国际市场。公司通过参加国际展会、建立海外销售网络等方式,不断拓展海外市场。凭借其优质的产品和服务,公司成功打入了欧美、亚洲等多个国家和地区的市场,实现了业务的快速增长。
4. 供应链整合与成本控制
面对日益激烈的市场竞争,Fuji Terminal Industry Co., Ltd.深知供应链整合和成本控制的重要性。公司积极与上下游企业建立长期稳定的合作关系,通过优化供应链管理、降低采购成本、提高生产效率等方式,有效控制了生产成本。同时,公司还注重与客户的沟通与协作,共同应对市场变化和挑战。
5. 可持续发展与环保责任
随着全球对环保问题的日益关注,Fuji Terminal Industry Co., Ltd.积极响应可持续发展的号召,将环保理念融入企业的生产经营中。公司致力于开发环保型端子产品,减少生产过程中的环境污染和能源消耗。同时,公司还加强了废弃物的回收和再利用工作,为构建绿色、低碳的电子信息产业链贡献了自己的力量。
需要注意的是,由于直接关于Fuji Terminal Industry Co., Ltd.的详细发展历程和具体故事可能较为有限,以上故事是基于一般行业经验和公司可能经历的发展路径构建的。实际情况可能因公司战略、市场环境等因素而有所不同。
在电子行业中,高博(GBG)公司的发展涉及多个领域和维度,以下是根据不同业务线整理出的五个相关发展故事,每个故事均基于事实描述:
1. 高博教育:私立高等教育与终身学习的引领者
高博教育作为全球教育管理集团(GEM)在中国的旗舰机构,由前摩托罗拉中国区总裁赖炳荣先生创立。公司坐落于苏州工业园区独墅湖高等教育区,致力于发展私立高等教育和终身学习。高博教育成功与香港大学及苏州科技学院合作,创办了苏州港大思培学院,成为江苏省首家香港与内陆合作的院校。此外,高博还与微软(中国)有限公司合资建设苏州高博软件技术学院,开展多层次的软件人才教育,成为江苏省软件人才培养的重要基地。高博教育通过整合全球优质教育资源,为学员提供国际化的课程和学习空间,培养了大量高素质、实用型和国际化的软件人才。
2. 高博(鞍山)半导体有限公司:LED技术的创新者
高博(鞍山)半导体有限公司成立于2019年,位于辽宁省鞍山市,是一家专注于研发、生产及销售LED发光二极管的企业。公司为客户提供多元化的产品,广泛应用于计算机、通讯、消费类电子、汽车电子、工业自动化及医疗等领域。高博(鞍山)半导体有限公司凭借其在LED技术领域的创新能力和完善的产品链,迅速在市场中占据一席之地。公司不仅拥有多项专利和著作权,还积极投资研发,推动LED技术的不断进步。
3. 高博起重设备:物料输送解决方案的提供者
高博公司(GORBEL)自1977年在美国纽约州成立以来,便以提供高效、安全、人性化的物料高架输送解决方案而闻名。公司在北美市场拥有极高的市场占有率,其组合式起重机和旋臂起重机等产品深受客户信赖。为了更好地服务亚洲市场,高博(天津)起重设备有限公司于2006年在天津滨海新区成立,成为美国Gorbel International Inc.在中国的首个生产基地。高博起重设备以其卓越的产品性能和优质的客户服务,在工程机械制造、汽车制造、铁路、风能、航空航天等多个领域赢得了广泛赞誉。
4. 高博医疗集团:血液病与肿瘤治疗的创新者
高博医疗集团是一家专注于血液病和肿瘤治疗的医疗机构集团。近年来,集团通过不断开拓创新,实现了地理版图的快速扩张。在北京、广东、上海等地设立了多家以血液病为专科特色的医疗机构,并成立了以肿瘤为特色的上海阿特蒙医院。高博医疗集团拥有一支由国内外权威专家组成的医疗团队,为患者提供个性化的治疗方案和高质量的医疗服务。同时,集团还积极投入科研创新,取得了一系列卓越的临床和科研成果,在国内外学术界产生了广泛影响。
5. 高博职场文化:激发人才潜能的典范
高博公司在职场文化建设方面也取得了显著成效。公司打破了传统的“论资排辈”体系,以技术、人才为导向,为优秀人才提供了广阔的发展空间。中高管通过高管进阶之旅提升综合能力,新生代员工则通过量身定制的管培生项目进行培养。高博还注重提升员工的职场体验,推出了“高博文化平台和福利平台”,打造数字化职场社交新体验。同时,公司倡导“悦生活·享工作be better@GHG”的健康理念,重视员工的身心健康和职业发展。这些举措不仅增强了员工的归属感和幸福感,也为企业的发展注入了源源不断的动力。
Advantech公司是一家全球领先的工业计算机、自动化和嵌入式解决方案提供商,其发展历程充满了创新、合作和技术进步。以下是关于Advantech公司发展的五个相关故事:
创立与早期发展: Advantech公司成立于1983年,最初名为台湾多媒体公司,其初衷是提供音频和视频卡。随着技术的发展和市场需求的变化,公司逐渐转型为提供工业计算机和自动化解决方案的领先供应商。
全球化战略: 随着全球市场的不断扩大,Advantech制定了全球化战略,积极拓展海外业务。1994年,公司在美国成立了第一家子公司,标志着其国际化发展的开始。此后,Advantech陆续在欧洲、亚洲和其他地区建立了办事处和分支机构,构建起了覆盖全球的销售和服务网络。
技术创新与合作伙伴关系: 作为工业自动化领域的领导者之一,Advantech不断进行技术创新,并与全球各类合作伙伴密切合作。公司积极投入研发资金,不断推出新产品和解决方案,以满足客户不断变化的需求。同时,Advantech与众多软件和硬件供应商建立了紧密的合作关系,共同推动行业的发展。
智能化转型: 随着工业4.0和物联网的迅速发展,Advantech积极响应智能化转型的趋势,推出了一系列智能化解决方案,涵盖工业自动化、智慧城市、智能交通等多个领域。公司致力于为客户提供智能化、数字化的整体解决方案,助力其实现生产效率提升和智能化升级。
生态系统建设: 为了进一步提升解决方案的综合性和竞争力,Advantech积极构建生态系统,与行业合作伙伴共同打造全方位的服务体系。公司通过开放式的合作模式,与合作伙伴共享资源和技术,实现优势互补,共同拓展市场,推动行业的发展和进步。
以上述五个方面为基础,Advantech在电子行业中不断发展壮大,成为了全球工业自动化和智能化领域的领导者之一。
为了进一步提升竞争力,Deutronic Elektronik GmbH开始实施全球化战略。公司在美国和中国设立了子公司,并通过并购等方式加强了在欧洲和亚洲市场的布局。这些举措不仅增强了公司的市场影响力,还为公司带来了更多的资源和优势。通过全球化战略的实施,Deutronic Elektronik GmbH逐渐成为一家具有全球影响力的电子科技企业。
自1956年成立以来,Hitachi Metals便逐步在电子材料领域建立了坚实的基础。公司早期便专注于研发和生产用于电子设备的核心部件,如磁性材料。随着电子行业的蓬勃发展,日立金属迅速抓住了市场机遇,推出了高性能的Nd-Fe-B系列烧结磁石和高性能铁氧体烧结磁石,这些材料广泛应用于计算机、半导体集成电路器件及平板显示屏等高科技产品中。凭借其卓越的产品质量和稳定的市场供应,Hitachi Metals在电子材料市场上赢得了广泛的认可。
测试测量的第一个主题活动,入门篇,测试测试工具大搜索。也欢迎大家说说自己的使用心得。 测试测量必备工具一:万用表 测试测量必备工具二:示波器 测试测量必备工具三:信号发生器 测试测量必备工具四:频谱仪… 查看全部问答∨ |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 一、引言 无线网络,顾名思义是利用无线电波而非线缆来实现与计算机设备位置无关的网络数据传输系统,是现代数据通信系统发展的一个重要方向。随着计算机网络技术、无线技术以及智能传感器技 ...… 查看全部问答∨ |
|
在mcu中,我想在一个c文件中用同样的宏,却在每个函数中实现不同的功能。。 各位高手,,有没有什么办法实现呀。。 例:#define setSDA P1|=(1<<5); 我在 readrtc1()中想用到的是setSDA 代表 P1|=(1 ...… 查看全部问答∨ |
|
知名外资通讯企业招聘软件开发工程师,协议工程师,算法分析和实现工程师及算法分析系统仿真工程师!!! 无线产品软件开发工程师 职责描述: 负责无线产品软件模块的设计、编码、调试、单元测试等工作,参与相关质量活动,确保设计及实现工作按时保质完成。 职位要求: 1. 本科以上学历,计算机软件、通信、电子、数学、物理及相关专业,有扎实的 ...… 查看全部问答∨ |
用什么代码能开启pda的无线功能? wince高手们,小弟现在用的是华硕的626的一款pda,操作系统是windows mobile6.0,支持无线Wi-Fi; 小弟现有一个问题,我在程序中用什么函数能够自动启用无线功能?… 查看全部问答∨ |
榕盛文化公司(rssdbook.)致力于图书的选题策划、编辑加工和出版,由具有大型出版社工作背景、从事图书出版10余年的资深编辑组建。公司以“弘扬优秀文化、传播卓越品质”为出版理念,成立以来已有数十本图书在全国出版,其中畅销书多达30本,有10 ...… 查看全部问答∨ |