示例#1
0
void led__toggle(void) {
    PORT_REG(SIGNAL_PORT(LED)) ^= SIGNAL_MASK(LED);
}
示例#2
0
}

void modbus_server__on_valid_frame_received(void) {
    ++valid_frames_received;
}

void modbus_server__on_invalid_frame_received(void) {
    ++invalid_frames_received;
}


/**
 * Handle reading of holding registers.
 */
modbus_exception modbus_server__read_coils(void) {
    buffer__put_u8((PORT_REG(OUT__LEDS__PORT) & (SIGNAL_MASK(OUT__LED1) | SIGNAL_MASK(OUT__LED2) | SIGNAL_MASK(OUT__LED3))) >> OUT__LED1__PIN);
    return MODBUS_EXCEPTION__NONE;
}




/**
 * Handle writing of single coil (output LEDs/relays).
 */
modbus_exception modbus_server__write_single_coil(uint16_t address, uint8_t active) {
    if (address == 0) {
        led1__set(active);
    }
    else if (--address == 0) {
        led2__set(active);