<?xml version="1.0" encoding="UTF-8"?>
<urlset
  xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
>
  <url>
    <loc>https://duonghao.dev/blog/vi/stm32/stm32-usb-descriptor</loc>
    <lastmod>2026-07-12</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-descriptor"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/blog/en/stm32/stm32-usb-descriptor"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-descriptor"/>
  </url>
  <url>
    <loc>https://duonghao.dev/blog/en/stm32/stm32-usb-descriptor</loc>
    <lastmod>2026-07-12</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-descriptor"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/blog/en/stm32/stm32-usb-descriptor"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-descriptor"/>
  </url>
  <url>
    <loc>https://duonghao.dev/blog/vi/stm32/stm32-usb-hid-keyboard-baseline</loc>
    <lastmod>2026-07-21</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-hid-keyboard-baseline"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/blog/en/stm32/stm32-usb-hid-keyboard-baseline"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-hid-keyboard-baseline"/>
  </url>
  <url>
    <loc>https://duonghao.dev/blog/en/stm32/stm32-usb-hid-keyboard-baseline</loc>
    <lastmod>2026-07-21</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-hid-keyboard-baseline"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/blog/en/stm32/stm32-usb-hid-keyboard-baseline"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-hid-keyboard-baseline"/>
  </url>
  <url>
    <loc>https://duonghao.dev/blog/vi/stm32/stm32-usb-key-input-pipeline</loc>
    <lastmod>2026-07-12</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-key-input-pipeline"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/blog/en/stm32/stm32-usb-key-input-pipeline"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-key-input-pipeline"/>
  </url>
  <url>
    <loc>https://duonghao.dev/blog/en/stm32/stm32-usb-key-input-pipeline</loc>
    <lastmod>2026-07-12</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-key-input-pipeline"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/blog/en/stm32/stm32-usb-key-input-pipeline"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-key-input-pipeline"/>
  </url>
  <url>
    <loc>https://duonghao.dev/blog/vi/stm32/stm32-usb-series-intro</loc>
    <lastmod>2026-06-08</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-series-intro"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/blog/en/stm32/stm32-usb-series-intro"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-series-intro"/>
  </url>
  <url>
    <loc>https://duonghao.dev/blog/en/stm32/stm32-usb-series-intro</loc>
    <lastmod>2026-06-08</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-series-intro"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/blog/en/stm32/stm32-usb-series-intro"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-series-intro"/>
  </url>
  <url>
    <loc>https://duonghao.dev/blog/vi/stm32/stm32-usb-transfer-types</loc>
    <lastmod>2026-06-12</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-transfer-types"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/blog/en/stm32/stm32-usb-transfer-types"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-transfer-types"/>
  </url>
  <url>
    <loc>https://duonghao.dev/blog/en/stm32/stm32-usb-transfer-types</loc>
    <lastmod>2026-06-12</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-transfer-types"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/blog/en/stm32/stm32-usb-transfer-types"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/blog/vi/stm32/stm32-usb-transfer-types"/>
  </url>
  <url>
    <loc>https://duonghao.dev/notes/vi/stm32/hid-keyboard-report-format</loc>
    <lastmod>2026-07-01</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/notes/vi/stm32/hid-keyboard-report-format"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/notes/en/stm32/hid-keyboard-report-format"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/notes/vi/stm32/hid-keyboard-report-format"/>
  </url>
  <url>
    <loc>https://duonghao.dev/notes/en/stm32/hid-keyboard-report-format</loc>
    <lastmod>2026-07-01</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/notes/vi/stm32/hid-keyboard-report-format"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/notes/en/stm32/hid-keyboard-report-format"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/notes/vi/stm32/hid-keyboard-report-format"/>
  </url>
  <url>
    <loc>https://duonghao.dev/notes/vi/stm32/stm32-gpio-register-access</loc>
    <lastmod>2026-07-03</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/notes/vi/stm32/stm32-gpio-register-access"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/notes/en/stm32/stm32-gpio-register-access"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/notes/vi/stm32/stm32-gpio-register-access"/>
  </url>
  <url>
    <loc>https://duonghao.dev/notes/en/stm32/stm32-gpio-register-access</loc>
    <lastmod>2026-07-03</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/notes/vi/stm32/stm32-gpio-register-access"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/notes/en/stm32/stm32-gpio-register-access"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/notes/vi/stm32/stm32-gpio-register-access"/>
  </url>
  <url>
    <loc>https://duonghao.dev/notes/vi/stm32/usb-descriptor-overview</loc>
    <lastmod>2026-07-01</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/notes/vi/stm32/usb-descriptor-overview"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/notes/en/stm32/usb-descriptor-overview"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/notes/vi/stm32/usb-descriptor-overview"/>
  </url>
  <url>
    <loc>https://duonghao.dev/notes/en/stm32/usb-descriptor-overview</loc>
    <lastmod>2026-07-01</lastmod>
      <xhtml:link rel="alternate" hreflang="vi" href="https://duonghao.dev/notes/vi/stm32/usb-descriptor-overview"/>
      <xhtml:link rel="alternate" hreflang="en" href="https://duonghao.dev/notes/en/stm32/usb-descriptor-overview"/>
      <xhtml:link rel="alternate" hreflang="x-default" href="https://duonghao.dev/notes/vi/stm32/usb-descriptor-overview"/>
  </url>
</urlset>