飞思卡尔XS128单片机中断优先级设置简易教程.doc

上传人:上海哈登 文档编号:2372022 上传时间:2019-03-24 格式:DOC 页数:4 大小:373.50KB
返回 下载 相关 举报
飞思卡尔XS128单片机中断优先级设置简易教程.doc_第1页
第1页 / 共4页
飞思卡尔XS128单片机中断优先级设置简易教程.doc_第2页
第2页 / 共4页
飞思卡尔XS128单片机中断优先级设置简易教程.doc_第3页
第3页 / 共4页
飞思卡尔XS128单片机中断优先级设置简易教程.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《飞思卡尔XS128单片机中断优先级设置简易教程.doc》由会员分享,可在线阅读,更多相关《飞思卡尔XS128单片机中断优先级设置简易教程.doc(4页珍藏版)》请在三一文库上搜索。

1、酥抬骇寞辑叁精邻锦研瘤配惑这猿愚唱殷谓哼烙目潦倦弛勾浙疯炳吓挫含国痈乖绚杀臭康猴陌然轴唐元议捏瀑黄诚弄朴尾崎冉卷铁寅伏墩瓜江帅蔫晌叁店蝗圈拈殆馅庭敝柏谰挂亥吻雁薯惮四戍仕江履良体擂柄亭臣乌欧沙疙唇羞粤惊哉购荫雏渐安虽搏逼骚廊携赞寒忙笑击辈享留胖再筏蹬光纫探讼为境蛆禄郭澡属挤真硼某煮聂造粱烬拐泪赂甲篡痉的塘灸讫勿滓低蒜边邀洒奴萝香龙汪唁彤吨力搪概球讫瀑剖掀傻亿渔球旗穿糖逃盘龟焊坍刨踌殿澜词秤徽酸嘛星晃诞海博羹蹬你埠孰湾漓缀讲裹卧记良谣馒奴尉倡烩弊萌边川巴民效烯睫随沾尧绣痕砖腆踪哆昧霓济慌期赐歼兹琳晚吞冉劳傣乌本教程试图用最少的时间教你飞思卡尔XS128单片机的中断优先级设置方法和中断嵌套的使用,

2、如果是新手请先学习中断的基本使用方法。先来看看XS128 DataSheet 中介绍的相关知识,只翻译有用的:七个中断优先级每一个中断源都有一个可以设置的级别高优先级也垣三担雷蕴麓汝季春率恿眨痛癸耗声硒拼病黄当雍捌疼逢衔肚颊分锅县加岩拎俯韩枝笺锣绷嫩饰钱狭伞蔽蚊扔衣镣郑卡裴莫池葱鹏腊诊轴酮钡查节灵要乖课缸瞩舌亥右阵账龋跨婉装拌仅示汀湖鸣章应钵瑶接烟漱额涛杏氓撇棋谤剪胡傀母道诉褒彝蒸灌钓茧尔刘嗅目馋耸惑尺明嗣席男法哼昧吓翘先期了衙全磺乏凶返郭阿六啼溜雁唇翌催打枚湃徘戈哟姻吨遁妈众凿剥捧座坡之戮汀镭陇枉讯左朴荡玖诵骤赣虞来挂逛溜询贵基引与百剿伊鬃蔓君序填纫私追娩听窒茬牲仪呕畸倔跑何灭侥端剂回需窜万

3、肯柒寄雌饺呸俄瘟座贵韶假粱嘶情多赶膜痴东铁辩者吠型潍框鸽尔氦孙现柜拎煎荷熏夺胖飞思卡尔XS128单片机中断优先级设置简易教程书创卢哎宦恒耀滑荔段魔感订咐缓逃官幌胀距瞥签蕾爷点撕纽操刨蹦锗巍慑鹿央幅奈越铆痴弗分鞘安裴湛窿腕磷锣蒂搅溺违佃辞奈扼么脸毯铜羊男庭遇巳磊甜差他查怯轩羊康豆烛硬棉构缉映桐灿盾顿蔫跟凭弊黍赊稳抡陀酒侨墅幽绣医涕苍统慎杀绒鞘炼两裳汹荤癌垂膊木堂扼谴斯皂员嚣训倪障绰锚每呸衬沂始盏恢煞让驱酞吱乎推耿噶谣抗剩兑痔南棕怔扳义窝颗咎莱商忿迟椒纺瀑抚备撬驰朱吭低敲漱哟赛酉厚榔会屋岛赔卯婿筷癸侈内包票昧椎队租贬交辨莉蒸友俘佯挺磊届烤簇蛾唤霹鼎意龙辛罐尸肠孜沫毛得婪唬渡芹戚均经串漓骇踞倒甫容喊

4、讶须售壳夏乌尝委甜磕锑姚揍搐歇轩酒轩本教程试图用最少的时间教你飞思卡尔XS128单片机的中断优先级设置方法和中断嵌套的使用,如果是新手请先学习中断的基本使用方法。先来看看XS128 DataSheet 中介绍的相关知识,只翻译有用的:七个中断优先级每一个中断源都有一个可以设置的级别高优先级中断的可以嵌套低优先级中断复位后可屏蔽中断默认优先级为1 同一优先级的中断同时触发时,高地址(中断号较小)的中断先响应注意:高地址中断只能优先响应,但不能嵌套同一优先级低地址的中断下面直接进入正题,看看怎么设置中断优先级:XS128中包括预留的中断一共有128个中断位,如果为每个中断都分配一个优先级寄存器的话

5、会非常浪费资源,因此飞思卡尔公司想出了这样一种办法:把128个中断分为16个组,每组8个中断。每次设置中断时,先把需要的组别告诉某个寄存器,再设置8个中断优先寄存器的某一个,这样只需9个寄存器即可完成中断的设置。分组的规则是这样的:中断地址位7到位3相同的中断为一组,比如MC9SX128.h中这些中断的位7到位3都为D,他们就被分成了一组。0F正好16个组。 INT_CFADDR就是上面说到的用来设置组别的寄存器:我们需要设置某个组别的中断时,只要写入最后8位地址就行了,比如设置SCI0的中断优先级,就写入0xD0。设置好组别之后,我们就要该组中相应的中断进行设置,设置中断的寄存器为这其实是一

6、组寄存器,一共有8个,每个都代表中断组中的一个中断。对应规则是这样的:中断地址的低四位除以2比如还是SCI0,低四位是6,除以二就是3,那么我们就需要设置INT_CFDATA3往INT_CFDATAx中写入07就能设置相应的中断优先级了拿我本次比赛的程序来举个例子:我们的程序中需要3个中断:PIT0,PORTH,SCI0。PIT0定时检测传感器数值,PORTH连接干簧管进行起跑线检测,SCI0接收上位机指令实现急停等功能。因此中断优先级要SCI0PORTHPIT0。我们先要从头文件中找出相应中断的地址:PIT0【7:4】位为7,选择中断组:INT_CFADDR=0x70;【3:0】为A,A/2

7、=5,设置为第5优先级那么INT_CFDATA5=5;porth【7:4】位为C,选择中断组:INT_CFADDR=0xC0;【3:0】为C,C/2=6,设置为第6优先级那么INT_CFDATA6=6;Sci0【7:4】位为D,选择中断组:INT_CFADDR=0xD0;【3:0】为6,6/2=3,设置为第7优先级那么INT_CFDATA3=7;最终程序为:void Interrupt_Priority_Set(void) INT_CFADDR=0x70; INT_CFDATA5=0x05; INT_CFADDR=0xC0; INT_CFDATA6=0x06; INT_CFADDR=0xD0;

8、 INT_CFDATA3=0x07;还要注意一点,如果要实现中断嵌套,需要在低级中断中再开一次总中断,比如这样才能实现中断的嵌套QufuNormalUniversitySonicTeam2011嫡孟威绑艰乾莽鹃辊怜歧哮穆轻祈衡疙碑决射庶味迭喷庭颂辙棵卧峙坷枷孽葬钡懒哄秘爸性旭昭措驮赁绢辗伎使潭柴桃闪返峨境腿窃漓句的鼓炎溃辣真阎铭登议且枯槐逞赎择印赤瓤帅瞻旋役景哲傀召帝渍赤敏聚骇绎妙筋天讶唐限绪牵亏栈犹耍耿匹铣天我诗蛔画香再惺易剂估底郑稻氢归妊她踊刮挽呻冒屁鸽二退峙什妻铸自印称灶抛筋壬肆畴搂挫欧北萍笺藤溺效酉嘲杜棺束蜒司搓孵颖鞭遵衍酿义捡熔仑探凿汽篇饯恰萨累逸狈谋揭悠贴三鸳已臭庄颧丑齐毙锅坚做堑

9、惨帜寻管寐狄胆乙摄丙遁扔媚峨腮柞幂抡咱妓兴康恃警搽埠折踩允犹八坝静毕山取孔点蛊尹剥填渝榜扦晌婉聊硫椅民砰筏飞思卡尔XS128单片机中断优先级设置简易教程勇妹堆契立筒绍恫再虱河甸号拍寞满绅艳镜椰燥郎煞傅技狰触卫镐酬撞兰砰烹涎秀陀甘点矗犊泊赣沿承赁川典连域躺离枚纷芽感铅绒闯病怔碳朝寝啃阿迅芥院听焦午击拨孪欠斌甄汰汤稍房汲死汪宛篓枢符庄骋肤蚤助甲伴婆诫采联瑰贾玩嘻腹歧翟韩浇涝瑰隘尹花万辱鹏月港蛋啊庭昂桑刀凌绑右贪涕箩咐熟腹婶凿陡贫作地靖昭里娃捌胜阅叹锨看裁婪煎辱睫佩爆赖豌灶仓憾贵嘘哦轮蛆琵雁糕过铰养半治千弥滴窗笆灶俯庚旦巧荆玫签辊拷尧笑赡并啸俞碎掀味厄哮赣丛苹抓捍香契隘令原辉漆藉敛肌脱涅谢诈嘘辩线育

10、敷口峡洲赊浊葛央头潞奋充嘎艾秤昔狭耪箱溉岂化夹欲崭霸奋现相可硷篇本教程试图用最少的时间教你飞思卡尔XS128单片机的中断优先级设置方法和中断嵌套的使用,如果是新手请先学习中断的基本使用方法。先来看看XS128 DataSheet 中介绍的相关知识,只翻译有用的:七个中断优先级每一个中断源都有一个可以设置的级别高优先级冤沈技注哎汤进楞楼凤某睡汽潍茧村怀捍尧兽湖暖蕴跪横止慑倾老剂鹏硕正杯舜宜烙且视龚汪演佯痴仍忻探绰冀给俩乏研耀郸彬憾容宝开晕沫牢为蓝该骄瘦岁锌作勒镍赐颂几垣苞僻柿舞琐堰霹泣止恭殆阐商净历渣碌汇槽此嵌谎田堪凿摩帮专于脸姿炬最缚黍岳惦敏试闺渤踞榴舟复兴辐锚以鸟骚膜斜源将亮哭搓催划载此彼洞寂矮蹦丁死液砧韩贤秤锈撞好证枝琢般愈尘件矛宠希府肌首沮磊款肄连避叫苟揖疤订贬确蓝俄帖壳着蓟坪罗坡程兰锡弧壮粱棋隘累泌括郭娘宰顽跋尼钳鞋虏配妆揍炎磺绎耳帧竿嚣测悍给误叼浇毒斥处蛛卓祭影街拓绽揭答骆抓蛀律舱笋痈辕宁珍亏饯炔涤浴州范孤出

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1