#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 Кино
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.
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
You are very welcome. I am happy you like the content. There is so much more coming.
Thanks for the video !
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? 🙄
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.
@@PatrickHoodDaniel Thank you for your response! 🙂
"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).
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?
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.
You are correct @@PatrickHoodDaniel in video 8, and its worked, thank you
Will you explain I2S DMA at register level?
Thanks
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!