This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Read pointer when increasing address does not access data LPC2136

your help please, this pointer initially takes the first value extracted from the address, but when I try to increase the pointer to access the next value it does not do anything.(ARM7TDMI LPC2136):

void static commandList(const uint8_t *addr) {

uint8_t numCommands, numArgs; uint16_t ms;

numCommands = *(addr++); // Number of commands to follow
while(numCommands--) { // For each command... writecommand((uint8_t) *(addr++)); // Read, issue command numArgs = *(addr++); // Number of args to follow ms = numArgs & DELAY; // If hibit set, delay follows args numArgs &= ~DELAY; // Mask out delay bit while(numArgs--) { // For each argument... writedata(*(addr++)); // Read, issue argument }

Delay(ms);

}

}

Parents
  • Compiled on a PC, generates sequences you're not handling properly

    # 15
    CMD 11 (17)
    DELAY
    CMD 96 (150)
    DAT 80 .
    DAT FF .
    DAT 33 3
    DAT 03 .
    DAT 01 .
    DAT 2C ,
    DAT 2D -
    DAT 44 D
    DAT 03 .
    DAT 01 .
    DAT 2C ,
    DAT 2D -
    DAT 55 U

    Took liberties with the missing defines, but still looks broken to me.

    >>if you are interested I can take screenshots with the assembler code.
    A listing file, or FromELF disassembly might be better, but the underlying logic is flawed. Instrument the code, understand what it actually does. Compiler doing what you tell it to do.

Reply
  • Compiled on a PC, generates sequences you're not handling properly

    # 15
    CMD 11 (17)
    DELAY
    CMD 96 (150)
    DAT 80 .
    DAT FF .
    DAT 33 3
    DAT 03 .
    DAT 01 .
    DAT 2C ,
    DAT 2D -
    DAT 44 D
    DAT 03 .
    DAT 01 .
    DAT 2C ,
    DAT 2D -
    DAT 55 U

    Took liberties with the missing defines, but still looks broken to me.

    >>if you are interested I can take screenshots with the assembler code.
    A listing file, or FromELF disassembly might be better, but the underlying logic is flawed. Instrument the code, understand what it actually does. Compiler doing what you tell it to do.

Children
No data