STM32 UART #3 || Receive Data in Blocking Mode & Interrupt

Поділитися
Вставка
  • Опубліковано 14 січ 2025

КОМЕНТАРІ • 22

  • @domdom1941
    @domdom1941 7 місяців тому +2

    5:30 Oh my god!!!
    This is exactly what I needed. I never knew why this callback function exists and when it is triggered.
    Great tutorial, way better than GPT 4o.......

  • @weiwei646
    @weiwei646 8 місяців тому +1

    Thank you so much, been trying for hours but finally solved it after watching your video

  • @mahmutbucuk
    @mahmutbucuk 11 місяців тому +1

    Thanks for the educational series. Is there a resource you would recommend to learn more ?

  • @fillempie1501
    @fillempie1501 Рік тому +1

    Thanks for sharing. Always very practical topics. I am impressed of the HAL function knowledge. Is there somewhere a total overview of all the HAL
    functions (not only the UART)?

    • @ControllersTech
      @ControllersTech  Рік тому

      Yes they are available for every series. You can google something like "stm32f1 hal documentation".

    • @fillempie1501
      @fillempie1501 Рік тому

      Thanks! @@ControllersTech

  • @szapsis
    @szapsis Рік тому

    Thank you for your video!

  • @AhmadAsmndr
    @AhmadAsmndr 10 місяців тому

    thank you very much!

  • @Diego2011Henrique
    @Diego2011Henrique Рік тому

    In my case I have an MCU that automatically sends data to the TX port, when I connect another MCU to get this data, the data does not fall into the same position in the buffer compared to what is being sent due to the receiver connecting in the middle of the transfer, like control this transmission to match the transmitter and receiver buffer positions? I do not know what to do 😔

    • @ControllersTech
      @ControllersTech  Рік тому +1

      Asynchronous transfers can't do that. That is why there are SPI and I2C communications, where you use the clock to synchronize the data.

    • @Diego2011Henrique
      @Diego2011Henrique 11 місяців тому

      @@ControllersTech
      The idea would be when you connect the MCU and it sends a command to the other to start the transfer process? In case of UART

  • @iacacch
    @iacacch 4 місяці тому

    There’s something I don’t understand. If I put the Hal_receive_IT outside the while loop as in your video, it doesn’t work. If I put it inside the while it works.. any idea?

    • @ControllersTech
      @ControllersTech  4 місяці тому

      That's not how it works. The interrupt shouldn't be put in the while loop, it defies the entire purpose of interrupt.
      When you call the interrupt receive (not in while loop of course), the function will wait in the background for the given number of bytes to arrive.
      Once the required number of data bytes has been received, an interrupt will trigger an RX Complete callback is called by default.
      When this callback is called, the receive IT interrupt gets disabled. This is how the HAL works. After you process the received data, call the function HAL receive IT again inside the callback itself. This will enable the interrupt again.

  • @lucvanhove9639
    @lucvanhove9639 Рік тому

    Very interesting.

  • @amarashokraut2542
    @amarashokraut2542 11 місяців тому

    Thanks you sir

  • @woldecosgrove
    @woldecosgrove 11 місяців тому

    whats the name of the serial terminal program you use to send "Hello" ? and where can i download it ?

    • @ControllersTech
      @ControllersTech  11 місяців тому

      WCHSerialPort. It is available on appstore

    • @woldecosgrove
      @woldecosgrove 11 місяців тому

      @@ControllersTech Can i=this work on Window11? is it free ?

    • @woldecosgrove
      @woldecosgrove 11 місяців тому

      @@ControllersTech can i use Realterm to send the "hello" ?

    • @ControllersTech
      @ControllersTech  11 місяців тому

      Yes you can use realterm

  • @aaronartale
    @aaronartale 8 місяців тому

    5:00