diff options
Diffstat (limited to 'stmhal/usbd_cdc_interface.c')
-rw-r--r-- | stmhal/usbd_cdc_interface.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/stmhal/usbd_cdc_interface.c b/stmhal/usbd_cdc_interface.c index 28f06067bb..e9b4863f6b 100644 --- a/stmhal/usbd_cdc_interface.c +++ b/stmhal/usbd_cdc_interface.c @@ -364,6 +364,8 @@ static int8_t CDC_Itf_Receive(uint8_t* Buf, uint32_t *Len) { for (; src < buf_top; src++) { if (*src == user_interrupt_char) { char_found = true; + // raise exception when interrupts are finished + pendsv_nlr_jump(user_interrupt_data); } else { if (char_found) { *dest = *src; @@ -372,11 +374,6 @@ static int8_t CDC_Itf_Receive(uint8_t* Buf, uint32_t *Len) { } } - if (char_found) { - // raise exception when interrupts are finished - pendsv_nlr_jump(user_interrupt_data); - } - // length of remaining characters delta_len = dest - Buf; } |