usb-cdc-serial-console-9.ino
Initialise le contrôleur USB OTG intégré en mode device CDC pour exposer un port série virtuel sur le PC.
Matériel : Connectez le port USB Type-C au PC. Le SDK HPMicro utilise TinyUSB. Incluez les sources TinyUSB et la configuration usb_config.h spécifique au HPM5100. Compilez avec le script de build HPM SDK en activant l'option 'usb_device_cdc_acm'. Téléversez via SWD ou OpenOCD. Ouvrez le moniteur série sur le port COM détecté pour voir les logs si ajouté.
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();
}
}