diff --git a/examples/stm32f0/src/bin/multiprio.rs b/examples/stm32f0/src/bin/multiprio.rs
index e36c0d6c2..1c3f3991a 100644
--- a/examples/stm32f0/src/bin/multiprio.rs
+++ b/examples/stm32f0/src/bin/multiprio.rs
@@ -126,9 +126,10 @@ fn main() -> ! {
     // Initialize and create handle for devicer peripherals
     let _p = embassy_stm32::init(Default::default());
 
-    // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used
-    // by the rest of your application. In this case we’re using UART1 and UART2, but there’s nothing special
-    // about them. Any otherwise unused interrupt vector would work exactly the same.
+    // STM32s don’t have any interrupts exclusively for software use, but they can all be triggered by software as well as
+    // by the peripheral, so we can just use any free interrupt vectors which aren’t used by the rest of your application.
+    // In this case we’re using UART1 and UART2, but there’s nothing special about them. Any otherwise unused interrupt
+    // vector would work exactly the same.
 
     // High-priority executor: USART1, priority level 6
     interrupt::USART1.set_priority(Priority::P6);
diff --git a/examples/stm32f3/src/bin/multiprio.rs b/examples/stm32f3/src/bin/multiprio.rs
index 3a3059db1..87830b416 100644
--- a/examples/stm32f3/src/bin/multiprio.rs
+++ b/examples/stm32f3/src/bin/multiprio.rs
@@ -127,9 +127,10 @@ fn main() -> ! {
 
     let _p = embassy_stm32::init(Default::default());
 
-    // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used
-    // by the rest of your application. In this case we’re using UART4 and UART5, but there’s nothing special
-    // about them. Any otherwise unused interrupt vector would work exactly the same.
+    // STM32s don’t have any interrupts exclusively for software use, but they can all be triggered by software as well as
+    // by the peripheral, so we can just use any free interrupt vectors which aren’t used by the rest of your application.
+    // In this case we’re using UART4 and UART5, but there’s nothing special about them. Any otherwise unused interrupt
+    // vector would work exactly the same.
 
     // High-priority executor: UART4, priority level 6
     interrupt::UART4.set_priority(Priority::P6);
diff --git a/examples/stm32f4/src/bin/multiprio.rs b/examples/stm32f4/src/bin/multiprio.rs
index 3a3059db1..87830b416 100644
--- a/examples/stm32f4/src/bin/multiprio.rs
+++ b/examples/stm32f4/src/bin/multiprio.rs
@@ -127,9 +127,10 @@ fn main() -> ! {
 
     let _p = embassy_stm32::init(Default::default());
 
-    // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used
-    // by the rest of your application. In this case we’re using UART4 and UART5, but there’s nothing special
-    // about them. Any otherwise unused interrupt vector would work exactly the same.
+    // STM32s don’t have any interrupts exclusively for software use, but they can all be triggered by software as well as
+    // by the peripheral, so we can just use any free interrupt vectors which aren’t used by the rest of your application.
+    // In this case we’re using UART4 and UART5, but there’s nothing special about them. Any otherwise unused interrupt
+    // vector would work exactly the same.
 
     // High-priority executor: UART4, priority level 6
     interrupt::UART4.set_priority(Priority::P6);
diff --git a/examples/stm32h7/src/bin/multiprio.rs b/examples/stm32h7/src/bin/multiprio.rs
index ded9d390e..fcbb6c653 100644
--- a/examples/stm32h7/src/bin/multiprio.rs
+++ b/examples/stm32h7/src/bin/multiprio.rs
@@ -127,9 +127,10 @@ fn main() -> ! {
 
     let _p = embassy_stm32::init(Default::default());
 
-    // STM32s don’t have software-defined interrupts, so just use any free interrupt vectors which aren’t used
-    // by the rest of your application. In this case we’re using UART4 and UART5, but there’s nothing special
-    // about them. Any otherwise unused interrupt vector would work exactly the same.
+    // STM32s don’t have any interrupts exclusively for software use, but they can all be triggered by software as well as
+    // by the peripheral, so we can just use any free interrupt vectors which aren’t used by the rest of your application.
+    // In this case we’re using UART4 and UART5, but there’s nothing special about them. Any otherwise unused interrupt
+    // vector would work exactly the same.
 
     // High-priority executor: UART4, priority level 6
     interrupt::UART4.set_priority(Priority::P6);