コード例 #1
0
// Format: 'mXX?'
inline static bool console__handle__memory_read(void) {
    if (console__command_length == 4 && console__command[0] == 'm' && console__command[3] == '?') {
        uint16_t addr = byte__parse_hex(console__command + 1);
        uint8_t status = addr >> 8;
        if (status) {
            debug__putc('!');
        }
        else {
            register uint8_t v = *((uint8_t*)addr);
            debug__print_byte_as_hex((uint8_t)addr);
            debug__putc('=');
            debug__print_byte_as_hex(v);
        }
        return true;
    }
コード例 #2
0
void console_service__run(void) {
    while(1) {
        debug__putc('>');
        debug__putc(13);
        debug__putc(10);

        readLine();

        if (input_length == 2) {
//            debug__putc('>');
//            debug__putc('r');
//            debug__putc(13);
//            debug__putc(10);

            uint8_t addr = parseByte(input_buffer);
            register uint8_t v;
            v = mcp251x__read(addr);

//            debug__putc('<');
//            debug__putc('r');
//            debug__putc(13);
//            debug__putc(10);

            debug__print_byte_as_hex(addr);
            debug__putc('=');
            debug__print_byte_as_hex(v);
        }
        else if (input_length == 5 && input_buffer[2] == '=') {
//            debug__putc('>');
//            debug__putc('w');
//            debug__putc(13);
//            debug__putc(10);

            register uint8_t addr = parseByte(input_buffer);
            register uint8_t value = parseByte(input_buffer + 3);
            
            mcp251x__write(addr, value);
            
//            debug__putc('<');
//            debug__putc('w');
//            debug__putc(13);
//            debug__putc(10);
        }
        else if (input_length == 1 && input_buffer[0] == 'r') {
//            debug__putc('>');
//            debug__putc('!');
//            debug__putc(13);
//            debug__putc(10);

            mcp251x__reset();

//            debug__putc('<');
//            debug__putc('!');
//            debug__putc(13);
//            debug__putc(10);
        }
        debug__putc(13);
        debug__putc(10);
    }
}