void retarget_setup(void) { VM_DCL_HANDLE uart_handle; vm_dcl_sio_control_dcb_t settings; if (retarget_device_handle != -1) { return; } #if defined(__HDK_LINKIT_ONE_V1__) vm_dcl_config_pin_mode(VM_PIN_D0, VM_DCL_PIN_MODE_UART); vm_dcl_config_pin_mode(VM_PIN_D1, VM_DCL_PIN_MODE_UART); #elif defined(__HDK_LINKIT_ASSIST_2502__) vm_dcl_config_pin_mode(VM_PIN_P8, VM_DCL_PIN_MODE_UART); vm_dcl_config_pin_mode(VM_PIN_P9, VM_DCL_PIN_MODE_UART); #endif g_owner_id = vm_dcl_get_owner_id(); uart_handle = vm_dcl_open(VM_DCL_SIO_UART_PORT1, g_owner_id); settings.owner_id = g_owner_id; settings.config.dsr_check = 0; settings.config.data_bits_per_char_length = VM_DCL_SIO_UART_BITS_PER_CHAR_LENGTH_8; settings.config.flow_control = VM_DCL_SIO_UART_FLOW_CONTROL_NONE; settings.config.parity = VM_DCL_SIO_UART_PARITY_NONE; settings.config.stop_bits = VM_DCL_SIO_UART_STOP_BITS_1; settings.config.baud_rate = VM_DCL_SIO_UART_BAUDRATE_115200; settings.config.sw_xoff_char = 0x13; settings.config.sw_xon_char = 0x11; vm_dcl_control(uart_handle, VM_DCL_SIO_COMMAND_SET_DCB_CONFIG, (void *)&settings); retarget_rx_signal_id = vm_signal_create(); vm_dcl_register_callback(uart_handle, VM_DCL_SIO_UART_READY_TO_READ, (vm_dcl_callback)__retarget_irq_handler, (void*)NULL); retarget_device_handle = uart_handle; }
void lcd_backlight_level(VMUINT32 ulValue) { VM_DCL_HANDLE pwm_handle; vm_dcl_pwm_set_clock_t pwm_clock; vm_dcl_pwm_set_counter_threshold_t pwm_config_adv; vm_dcl_config_pin_mode(3, VM_DCL_PIN_MODE_PWM); pwm_handle = vm_dcl_open(PIN2PWM(3), vm_dcl_get_owner_id()); vm_dcl_control(pwm_handle, VM_PWM_CMD_START, 0); pwm_config_adv.counter = 100; pwm_config_adv.threshold = ulValue; pwm_clock.source_clock = 0; pwm_clock.source_clock_division = 3; vm_dcl_control(pwm_handle, VM_PWM_CMD_SET_CLOCK, (void *) (&pwm_clock)); vm_dcl_control(pwm_handle, VM_PWM_CMD_SET_COUNTER_AND_THRESHOLD, (void *) (&pwm_config_adv)); vm_dcl_close(pwm_handle); }