#15 USART Receive Using Interrupts at the Register Level

Поделиться
HTML-код
  • Опубликовано: 11 июл 2024
  • Purchase my new book: Arm Microcontroller Programming and Circuit Building Volume 1
    amzn.to/3LFRaU5
    My Patreon:
    / newbiehack
    Buy our new shirts and hoodies:
    www.etsy.com/shop/BuildYourCNC
    Learn how to receive characters from a computer to the ARM microcontroller using interrupts and at the register level.
    Links to get started quickly!
    Setup the software and the development environment: • #3 ARM Microcontroller...
    Change the Speed of the Microcontroller: • #8 ARM Microcontroller...
    USART Initialization Part 1: • #10 ARM Microcontrolle...
    USART Initialization Part 2: • #11 ARM Microcontrolle...
    FTDI USB to Serial interface
    amzn.to/3NS64XU
    The full playlist for the new ARM tutorial series
    • New ARM Tutorial Series
    Introduction to USART:
    • #4 ARM Microcontroller...
    In this video, I show how to receive a character.
    All of the links below help support me at no extra cost to you.
    ARM Kits: newbiehack.com/Categories/ARM
    Links to the software:
    STM32CubeIDE: www.st.com/en/development-too...
    STM Studio: www.st.com/en/development-too...
    STM32CubeMonitor: www.st.com/en/development-too...
    Parts you will need in your prototyping environment:
    Kits to get you up to speed quickly:
    newbiehack.com/Categories/ARM
    If you already have the microcontroller, here are some breakout boards to use:
    64 pin - amzn.to/3rUXeiq
    48 pin and others - amzn.to/3IVkC6D
    STM-Link V2 Programmer:
    newbiehack.com/categories/new...
    amzn.to/3IIZlgj
    Prototyping Breadboards:
    newbiehack.com/categories/new...
    amzn.to/3o2Nh1g
    Resistor Assortment Kit:
    amzn.to/3H4R3ii
    Solid core hook-up wire 22 AWG:
    amzn.to/3IDGinA
    amzn.to/3g5TKUJ
    LEDs and Displays:
    newbiehack.com/Categories/LCD...
    amzn.to/3Az1zf7
    Trimmer potentiometers:
    newbiehack.com/Categories/Pot...
    amzn.to/3H6q067
    The Dynamixel servo I will be using in the USART videos:
    amzn.to/35s3qHl
    Microfarad Capacitor Assortment:
    amzn.to/32BIX1G
    Capacitors on Newbiehack.com:
    newbiehack.com/Categories/cap...
    Electrolytic Capacitor Assortment:
    amzn.to/33TtLxt
    The cheap oscilloscope that I use (because it's cheap and will work all of the projects in these tutorials): amzn.to/2rSHnBa
    A better oscilloscope and the one I would recommend: amzn.to/2qizK5M
    The brand of the multimeter that I use and the one I recommend: amzn.to/2qicUez
    #interrupts #microcontroller #stm32 #tutorial #ARMMicrocontroller
    00:00 Introduction
    00:46 How Interrupts Work (Example Scenario)
    02:10 Warning about Interrupts
    03:55 Polling vs Interrupts
    05:18 Types of Interrupts
    07:26 My philosophy on Microcontrollers and Outro
    08:12 Outtakes
  • КиноКино

Комментарии • 13

  • @PatrickHoodDaniel
    @PatrickHoodDaniel  Год назад +4

    Thank you so much for coming by and watching my USART receive using interrupts at the register level. I am grateful!! Enjoy and if you have any questions, please let me know.

  • @Arielo1997
    @Arielo1997 Год назад +1

    Thank you so much for making these videos. This is very valuable information and its hard to come by someone who makes such detailed videos like you do. I went to college for mechanical engineering and have been in the field for about 3 years now but somehow I have drifted into learning programming since everything is taking a turn for automation. I started with arduino about 3-4 years ago and I wanted to learn the more fundamental aspects of embedded systems to that I can make my own project and try and sell it. Thank you for your hard work it is very much appreciated

    • @PatrickHoodDaniel
      @PatrickHoodDaniel  Год назад

      You are very welcome. I am happy you like the content. There is so much more coming.

  • @Jose-tw9bl
    @Jose-tw9bl Год назад +1

    Thanks for the video !

  • @hanspeterbestandig2054
    @hanspeterbestandig2054 Год назад +3

    Great Video - as usual. Thank you! However @2:37 I have a question: I expect *three* Wires rather than two: RxD, TxD *and GND* .
    So wat is the reason you do *not* connect the very vital *GND* level as reference between the Microcontroller and the USBSerial Converter but just the signal lines? 🙄

    • @PatrickHoodDaniel
      @PatrickHoodDaniel  Год назад +2

      In a different circuit that doesn't share the computer ground (ST-Link and USB interface), I will definitely connect the ground. The ground is being shared between the computer and the microcontroller via the ST-Link even though they are not directly connected. The computer is connected to the FTDI (USB interface) which has ground on that USB line and the ST-Link has a ground (both coming from the computer. If I built a circuit that did not use the same ground, I would need to connect the ground from the USB interface and the microcontroller.
      I will make this clear in the next video. Thank you for bringing it up.

    • @hanspeterbestandig2054
      @hanspeterbestandig2054 Год назад +2

      @@PatrickHoodDaniel Thank you for your response! 🙂

  • @timicesq5059
    @timicesq5059 Год назад

    "stayed"... and saw a few typos in your message 😉
    I suggest you look into a multi-core MCU, like STM32H755 / STM32H757 and explain the true concurrent code running in two threads at the same time (not just emulated on a single core).

  • @RetroGames1979
    @RetroGames1979 10 месяцев назад +1

    Whenever I switch the MCU clock to 48 MHz, it becomes unresponsive and gets stuck during the clock configuration process. This issue occurs consistently. I'm using your development boards for this. To recover from this state, I manually hold the reset pin, initiate a connection in the CubeProgrammer, and then release the reset pin after around 3 seconds. This allows me to erase the memory and attempt the configuration again. Are there any insights into why this might be happening?

    • @PatrickHoodDaniel
      @PatrickHoodDaniel  10 месяцев назад

      Are you connecting the AGND and AVCC? That MCU requires that those connections are made while using that configuration. I explain this problem in previous parts because I had the same problem.

    • @RetroGames1979
      @RetroGames1979 10 месяцев назад +1

      You are correct @@PatrickHoodDaniel in video 8, and its worked, thank you

  • @CaasperART
    @CaasperART Год назад +1

    Will you explain I2S DMA at register level?
    Thanks

    • @PatrickHoodDaniel
      @PatrickHoodDaniel  Год назад +2

      I will be getting into DMA for all peripherals, including I2C. I really want to exploit the DMA as it doesn't need to bother the MCU process. DMA will allow a much better program flow and efficiency.
      Thanks for the comment. I am grateful!