MCU:LPC2136 分散加载文件用的是ZLG的模板
我把ZLG给的UART0接收函数加了一个超时判断 所以,用指针作为参数,指向的地址存放收到的数据
uint8 UART0_GetByte (uint8* rcv_dat) { uint32 i=0; uint8 data_tmp; while(1) { if(U0LSR & 0x01) { data_tmp = U0RBR; *rcv_dat = data_tmp; return OK_RECEIVE; } if(i==0xfffff*TIMEOUT) return ERROR_TIMEOUT; i++; } }
然后在另一个函数里调用 uint8 interface(void) { uint8 *receive_data; …… while(UART0_GetByte(receive_data)!=OK_RECEIVE); ……
}
但是 编译之后调试发现 receive_data指向的地址是 E0028000 和IOPIN一样,并不在RAM中
但是申明用 uint8 receive_data; 这时却是正常的,在RAM中
请问下,这是什么原因,怎么改? 谢谢
|