usb-cdc-serial-console-9.ino

HPMicro HPM5100: Microcontrolador RISC-V de 400 MHz con analógica integrada · Archivo : usb-cdc-serial-console-9.ino · Lenguaje : C · Uso : Configurer l'interface USB OTG en mode CDC (Virtual COM Port) pour le débogage série sans pin UART.

Inicializa el controlador USB OTG integrado en modo dispositivo CDC para exponer un puerto serie virtual al PC.

Hardware: Conecte USB Type-C al PC. El SDK HPMicro usa TinyUSB. Incluya fuentes TinyUSB y usb_config.h específico de HPM5100. Compile con el script de compilación del SDK HPM habilitando 'usb_device_cdc_acm'. Flashee vía SWD o OpenOCD. Abra el monitor serie en el puerto COM detectado para ver logs.

usb-cdc-serial-console-9.ino

#include "board.h"
#include "usb_config.h"
#include "usbd_core.h"
#include "usbd_cdc_acm.h"

#define LED_GPIO_CTRL HPM_GPIO0
#define LED_PIN 1

void led_init(void) {
    gpio_init(LED_GPIO_CTRL);
    gpio_set_pin_output_with_initial(LED_GPIO_CTRL, LED_PIN, 1);
}

void sys_tick_handler(void) {
    static uint32_t count = 0;
    if (++count >= 100) { // Toggle every ~100ms
        gpio_toggle_pin_output(LED_GPIO_CTRL, LED_PIN);
        count = 0;
    }
}

int main(void) {
    board_init();
    clock_set_source_divider(clock_ahb, clk_src_osc24m, 1);
    hpm_clock_init();
    led_init();

    // Initialize USB Stack
    hpm_usb_init();
    usbd_core_init();
    usbd_cdc_acm_init(USBBUS_ID_0, NULL, NULL); // No custom callbacks

    // Start USB
    usbd_core_start(USBBUS_ID_0);

    while (1) {
        // Wait for interrupts
        __WFI();
    }
}

← Volver a la ficha