I am using P89LVRD2BN which has 768 XDATA RAM.I tried to extend my XDATA by providing external RAM through 74LS373 LATCH. so when I am definig more XDATA variables,I am expecting the variables shuld automatically assignd the addresses in External RAM. But these thing are not happening. My settings are EXTRAM = 0 and AO = 0.(Reset Values)
I am using HMNR1288D RAM.It has only one chip enable pin. Variable intialisation:
xdata unsigned char cCommonBuf1[500],cCommonBuf2[30]; char xdata text[1256] _at_ 0x0800; /* array at xdata 0xE000 */
memset(text,'a',500); text[490] = 0; if(!strncmp(text,"aaa",3)) SendByte('s'); else SendByte('f');
memset(text,'a',500); text[490] = 0; if(!strncmp(text,"aba",3)) SendByte('s'); else SendByte('f');
But in Real time interfacing with RAM,it is always sending 'f' to my hyperterm. whta is the problem? Almost certainly your hardware. Dig out your oscilloscope, and check that your chip enable is actually getting enabled, and that the address/data lines move as expected.