We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi This is code compiled with Keil C, but not working #include <AT89X51.H> xdata char Index _at_ 0x00; void Clear_DDRAM(char index); void main(void) { Clear_DDRAM(0x00); while(1); } void Clear_DDRAM(char index) { int a; for(a=0;a<65536;a++) { P3_4=0; //IOCS=0; P3_1=0; P3_0=0; P1_0=0; //Reset=0; Index=index; P3_4=1; //IOCS=1; Index=Index+a; } } The xdata has 64K address range. Here is my queation: How to series to write data(0x00) into next address(Star address at 0x00). The assembly code is "INC DPTR" so have any instruction like it in keil C.
Hi, Assuming that the above interpretation(s) is/are correct and all that is required is to fill an area of xram all with the same value, can't the library function memset be used to fill it? Mark.
Mark, Sure, but I don't know if this is just a learning sort of test case for him and he wants to actually do something else in practice. For instance, maybe he wants to change the function to write a pattern to memory or something. Who knows?