为什么在写中断函数时要写#pragma CODE_SEG __NEAR_SEG NON_BANKED这句话,是不是没什么
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/18 18:10:29
为什么在写中断函数时要写#pragma CODE_SEG __NEAR_SEG NON_BANKED这句话,是不是没什么实际作用的啊
'中断函数置于非分页区内'这是什么意思啊,非分页区是什么啊
'中断函数置于非分页区内'这是什么意思啊,非分页区是什么啊
是这样的,飞思卡尔单片机.拿s12系列的来说,NON_BANKED一般位于0xc000-0xffff区域,而这个区域是16位单片机可以直接寻址的区域,而__NEAR_SEG告诉编译器函数放在固定页中,只有固定页中的函数才能访问其他页的数据,同时CODE_SEG定义了一个代码段.
所以,你可以这样理解:中断函数存放在CPU可以直接寻址的范围内,这样就可以节省中断函数的访问时间,方便调用中断函数(因为中断函数要求的就是实时性)...顺便再多说一句,如果你不写这一句,默认的是将函数存放在分页的flash里面,此时函数为far函数,访问far函数是相当耗费时间的一件事,中断函数毫无实时性可言.
一般只有中断函数时才用__NEAR_SEG,对于一般函数来说__NEAR_SEG毫无作用...
回答你的问题:非分页区是不能进行分页的区域(不需要设置PPAGE寄存器),cpu可以直接对其进行访问,访问速度快...
所以,你可以这样理解:中断函数存放在CPU可以直接寻址的范围内,这样就可以节省中断函数的访问时间,方便调用中断函数(因为中断函数要求的就是实时性)...顺便再多说一句,如果你不写这一句,默认的是将函数存放在分页的flash里面,此时函数为far函数,访问far函数是相当耗费时间的一件事,中断函数毫无实时性可言.
一般只有中断函数时才用__NEAR_SEG,对于一般函数来说__NEAR_SEG毫无作用...
回答你的问题:非分页区是不能进行分页的区域(不需要设置PPAGE寄存器),cpu可以直接对其进行访问,访问速度快...
为什么在写中断函数时要写#pragma CODE_SEG __NEAR_SEG NON_BANKED这句话,是不是没什么
"#pragma CODE_SEG __NEAR_SEG NON_BANKED"这句有什么用?
这句话是不是没什么道理?
为什么中断函数中会有P1=~P1这句,请问他有什么作用啊
STM32为什么进入了中断函数还要检查中断标志位啊?
C语言中断函数和普通的C语言函数的区别在哪里?中断函数主要用于什么操作
请分条指出为什么中华文明差点在本土中断,而又没有中断的原因.
位错线为什么不能在晶体内中断呢
为什么中华文明是唯一没有在本土中断的古文明
为什么中华文明没有中断
这句话是不是倒装句?为什么?
为什么为什么y=x/2在定义域上是减函数这句话为什么是错的.