我用的PIC18F4431+C18,请教有关“数据存储器和中断现场保护”的问题,谢谢
|
||||
---|---|---|---|---|
新會員
|
1。数据存储器
在我的程序中,我定义了300多个全局变量,4431有768字节的SRAM,原则上应该没有超范围。 但看了4431的手册后,数据存储区分为0,1,2三个区,每个区为256个字节,由寄存器BSR来控制。 我的程序中没有对BSR进行定义。 请问: 是不是我定义的300多个全局变量是由编译器来自动分配 区域的吗?如果不是,我怎么处理? 2。中断现场保护 我是这么写的,对吗? #pragma code InterruptVectorHigh = 0x08 void InterruptVectorHigh(void) { _asm MOVWF W_TEMP,0 MOVFF STATUS,STATUS_TEMP MOVFF BSR,BSR_TEMP goto InterruptHandlerHigh _endasm } #pragma code #pragma interrupt InterruptHandlerHigh void InterruptHandlerHigh () { // 中断处理 _asm MOVFF BSR_TEMP,BSR MOVFF STATUS_TEMP,STATUS movf W_TEMP,0,0 _endasm }
發表於: 2007/12/12 12:46
|
|||
|