Serial UART with STM32 Microcontroller-Transmit and Receive Data

Ғылым және технология

Learn how to use Serial UART with STM32 Microcontroller. We’ll transmit and receive data between STM32 Nucleo board and computers serial port. The Serial UART or USART protocol is used to interface external devices with microcontroller.
[SUPPORT]
►► Try the world's most trusted PCB design software, Altium Designer with 365, for free and 25% off your purchase: www.altium.com/yt/binaryupdates
►► Free search engine for the best quality components from Octopart: octopart.com/
►► Learn about Altium 365, the electronics product design platform that unites PCB design, MCAD, data management, and teamwork: www.altium.com/altium-365
[RESOURCES]
►► Need Help? To Learn Embedded Systems: courses.binaryupdates.com
►► ADC STM32 Tutorial: • How to use ADC in STM3...
[TIMESTAMPS]
00:00 Introduction
00:15 Altium Free Trial
00:38 Create STM32 Project
01:09 Uart and Usart explanation
01:52 Configure uart in stm32
03:32 Generate code
05:07 Transmit UART Program
07:45 Configure PuTTY
10:40 Receive UART Program
15:28 Control LED UART code
18:20 Control LED from PuTTY
18:30 Outro

Пікірлер: 64

  • @JimBob-w4m
    @JimBob-w4m4 күн бұрын

    Very clear thanks man couldn't figure out receives

  • @user-bf9hj2qt8z
    @user-bf9hj2qt8z4 ай бұрын

    why i cant type anything in puTTy or RealTerm .....I am using stm32f0discovery board and TTL .can anyone help me?

  • @p.kaikieu4796
    @p.kaikieu47964 ай бұрын

    dear sir, can we use the way like 8:45 to display a value like "value of DHT11" on serial terminal use UART ? i am trying to do this but i not sure about the type of data

  • @NitishKumar-mt6tf
    @NitishKumar-mt6tfАй бұрын

    from where u added LED ON in function in Rx cplt call back code on main program sir

  • @abiaselira2807
    @abiaselira28075 ай бұрын

    This video was really helpful to help me with this homework but I am stuck. Would you be able to help me with the homework problem? The data will consist of ASCII characters (the contents of text files). The IOT board will convert each character received into its two-character hex-ASCII value, and echo those back to the PC. Both Rx and Tx data on the IOT board are to be buffered with ring buffers in order to maximize throughput, and XON/XOFF flow control signals to the PC will be used by the IOT board to modulate the rate of received data.

  • @binishakk2812
    @binishakk28122 ай бұрын

    Interrupt call back function should be small right ..

  • @burakdemir5839
    @burakdemir5839 Жыл бұрын

    really good presentation, thanks for that.

  • @BINARYUPDATES

    @BINARYUPDATES

    Жыл бұрын

    Hi Burak, Glad you enjoyed it! I'll be making more videos on STM32 Microcontroller programming in a days to come. Thanks and have a good day. Best wishes!

  • @user-xm7sl8ij4p
    @user-xm7sl8ij4p8 ай бұрын

    The second and third part of your code is not working in my pc. what is the solution ?

  • @NitishKumar-mt6tf
    @NitishKumar-mt6tf18 күн бұрын

    LED ON OFF through UART I have same type copy in our code but not working LED ON but extra character comes and when type LED OFF and then enter not off pls help me

  • @Engineercorleone
    @Engineercorleone8 ай бұрын

    Would be great if you may also explain handling of UART with LL drivers. What flag and functions need to be set/called for data transmission?

  • @BINARYUPDATES

    @BINARYUPDATES

    7 ай бұрын

    Hi Engineercorleone, once I complete STM32 HAL tutorial series. I'll start making bare-metal microcontroller programming to show LL driver development for STM32 MCU. Thanks for the suggestions. Best wishes!

  • @ernozblr1318
    @ernozblr13187 ай бұрын

    Good Job thenks

  • @gersonsoares6628
    @gersonsoares66283 ай бұрын

    Bom video amigo: onde esta no codigo (linha) o led-off ?

  • @21ece028mariyappan.r
    @21ece028mariyappan.r8 күн бұрын

    How To use the web cam in laptop to uart with stm32 nucleo h563zi for the predicted class by garbage segregation in trained model I have the trained model in .tflite,how to implement?

  • @destroyerex
    @destroyerex24 күн бұрын

    helpful video, tysm

  • @sudhansumtripathy
    @sudhansumtripathy8 ай бұрын

    what is a weak function , do to teach how to write the code from scratch without autogeneration

  • @user-fm9vj8wy6z
    @user-fm9vj8wy6z9 ай бұрын

    Good explained

  • @BINARYUPDATES

    @BINARYUPDATES

    9 ай бұрын

    Thank you so much! I'm happy you find this STM32 UART video useful. Good luck and best wishes!

  • @dennisbaldwin
    @dennisbaldwin6 ай бұрын

    Great video. Thank you for sharing.

  • @BINARYUPDATES

    @BINARYUPDATES

    6 ай бұрын

    Hi Dennis, thanks you so much. Best wishes!

  • @mohameddawoodbinadammv9839
    @mohameddawoodbinadammv9839 Жыл бұрын

    Well explained

  • @BINARYUPDATES

    @BINARYUPDATES

    Жыл бұрын

    Thank you Mohamed, I hope you enjoyed UART with STM32 Microcontroller. Good luck and best wishes!

  • @faisal32ful
    @faisal32ful Жыл бұрын

    very helpful. Thank you.

  • @BINARYUPDATES

    @BINARYUPDATES

    Жыл бұрын

    Hey Faisal, thank you for your words. I'm glad to know you found this Serial UART communication with STM32 Microcontroller lesson useful. I wish you good luck and best wishes!

  • @faisal32ful

    @faisal32ful

    Жыл бұрын

    Thank you@@BINARYUPDATES

  • @aperture.soccer
    @aperture.soccer5 ай бұрын

    Very good 🌍 bem bacana

  • @demographicreplacement539
    @demographicreplacement539 Жыл бұрын

    I am interested in the huart being assigned to instance and the index loop. Did you not want to explain that because its not relevant basically? Please explain?

  • @BINARYUPDATES

    @BINARYUPDATES

    Жыл бұрын

    Hi, huart is UART handle which is a part of HAL API from STMicroelectronics. Since, i used STM32 HAL approach instead of bare-metal, for this UART lesson. I decided to show use of UART over explaining built in API and its parameters. But I'll surely consider making videos on this topics in future. Otherwise, this lesson will be very long just to show send and receive data. I hope you understand. Thanks!

  • @sudheerkumar5966
    @sudheerkumar5966 Жыл бұрын

    Very very good

  • @BINARYUPDATES

    @BINARYUPDATES

    Жыл бұрын

    Hi Sudheer, thank you!

  • @dienau6313
    @dienau63137 ай бұрын

    It helps me a lot, thank you, sir! And may I ask you some questions? 1. Currently I am studying to program the STM32F405R6T6, so does it have the same code as stm32f446re? 2. Beside the serial UART, I want to add 2 CAN protocols to the stm32, and I want to program to transmit the data from UART to stm32 to CAN1 to CAN2 and the opposite way, and I'm struggling for how to transmit the data from stm32 to CAN1, may you provide me some clues? Thank you!

  • @BINARYUPDATES

    @BINARYUPDATES

    7 ай бұрын

    Hi Dienau, thank you! The program for STM32F405R6T6 will be same as STM32F446RE as its been covered in video. They both inherit the same family of STM32. I'll try to cover CAN Protocol video lesson as early as possible. As its been very busy because of my projects. I hope will find time. Good luck for your project and best wishes!

  • @RakeshWasnik-EmbeddedSystems
    @RakeshWasnik-EmbeddedSystems11 ай бұрын

    So at 14:40 are we supposed to press enter after typing a string? In my setup it sometimes shows and sometimes it doesn't, then again stops responding even after pressing RESET button on the board. And how do I add when I am using a variable like rx_data instead of a plain string?

  • @RakeshWasnik-EmbeddedSystems

    @RakeshWasnik-EmbeddedSystems

    11 ай бұрын

    I noticed that in my PuTTY (I am using Windows and Nucleo F767ZI) When I am sending data from the Board to the Laptop using infinite loop, its properly working, but when I type in PuTTY, I am not sure when is it receives and when it transmits back the same data (rx_data) but I have to press > button (right arrow key). Then the data appears on the PuTTY terminal. I don't know what's wrong, maybe I should try using some other serial terminal.

  • @BINARYUPDATES

    @BINARYUPDATES

    11 ай бұрын

    Hi Rakesh, as likely you've pointed out. Its an issue caused by Serial Terminal Software. Especially when you write from microcontroller to your laptop over UART communication. If you want to know more then check the configuration of putty. I mean once you open PuTTY on left pane find TERMINAL > KEYBOARD check parameters and play with them. I suggest use other Serial terminal program like Tera Term or something similar. Please note its not an issue with your STM32 Microcontroller program. I hope you enjoyed this video lesson. I'll be adding more lesson along with advance STM32 projects in future. Have a good day. Best wishes!

  • @MrDp9000
    @MrDp900010 ай бұрын

    Nice video... But why did you define your message string as uint_8 instead of char? And why it still worked?

  • @BINARYUPDATES

    @BINARYUPDATES

    10 ай бұрын

    Thank you Mr. DP! Good question. The point is uint8_t is an 8-bit integer and char is also of size 1 byte, since1 byte is 8-bit in size. And STM32Cube HAL API handle 8-bit integer pretty neatly so I used integer instead char type. But, I'll be making videos in future to show exact correlation of sending char and string using Serial UART. Thank you for your input and video idea. Have a beautiful day, Best wishes!

  • @labegm3639
    @labegm363911 ай бұрын

    well explained! I have a question, where Can I found this informations ? (like book or some documentation)

  • @BINARYUPDATES

    @BINARYUPDATES

    11 ай бұрын

    Hi Labegm, Thank you and happy to know you found this Serial UART tutorial useful. Usually, I refer STM32 HAL Documentation while writing code for STM32F4 Microcontroller. If I remember correctly, the user manual is UM1725 - Rev 8. Just search online and you'll find it. Good luck and best wishes!

  • @kailimedia
    @kailimedia11 ай бұрын

    I got 2 square with question mark in front of the tx buffer printout in the console. what is the problem?

  • @BINARYUPDATES

    @BINARYUPDATES

    11 ай бұрын

    Please check if your uart Baud Rate Setting is correct in PuTTY Serial terminal software. Usually, this caused by baud rate mismatched between microcontroller program and serial terminal software. I hope this may help you. Good luck and best wishes!

  • @codewarrior7072
    @codewarrior70729 ай бұрын

    Thanks for the video! Could you update the video description with the code or a link to github?

  • @BINARYUPDATES

    @BINARYUPDATES

    9 ай бұрын

    Hi Codewarrior, I'll soon add links to the code once iI complete this STM32 Microcontroller Programming series. Due to lack of time I couldn't manage right now. I hope you understand. Thanking you!

  • @nikhilshejwal-ll8fw
    @nikhilshejwal-ll8fw10 ай бұрын

    Hello, I just started STM32 Development and am getting the error, Target not responding while uploading the code. Could you please help me with a possible solution?

  • @BINARYUPDATES

    @BINARYUPDATES

    10 ай бұрын

    HI Nikhil, to resolve this error. You must upgrade the firmware running on your STM32 microcontroller. To do this, open STM32Cube IDE --> go to Help on too menu bar --> Select ST-Link Upgrade --> Select your STM32 Nucleo board and then --> Click on Upgrade button. And you're done! This is how you can upgrade firmware on STM32 Board. Good luck and best wishes!

  • @rajamukherjee4667
    @rajamukherjee46672 ай бұрын

    Which type of USB cable is required to connect STM 32 F446RE with my laptop??

  • @BINARYUPDATES

    @BINARYUPDATES

    25 күн бұрын

    Mini USB cable will work STM32F446RE nucleo board

  • @classonbread5757
    @classonbread57578 ай бұрын

    9:58 is the transfer_cplt variable ever used in this video?

  • @BINARYUPDATES

    @BINARYUPDATES

    8 ай бұрын

    Hi, this variable "transfer_cplt" is used at line number 233 and under void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart). It's flag that keep track of serial data transfer over UART when STM32 send data to computer using serial UART. I hope this may help you. Thanks and best wishes!

  • @naingaunglwin833
    @naingaunglwin8338 ай бұрын

    if(rx_data[0] !=13) { rx_buffer[rx_indx++]=rx_data[0]; } what is the meaning of 13 use in if statement ? for detect "Enter"

  • @computertuts623

    @computertuts623

    7 ай бұрын

    Any article on ASCII will tell you it's the ASCII code for carriage return, such as: 13 015 0D 00001101 CR Carriage Return

  • @SaiKumar-hv3qd
    @SaiKumar-hv3qd11 ай бұрын

    where to download the driver please give me the source to download it. In the ST website i didn't find the driver 😐😐

  • @BINARYUPDATES

    @BINARYUPDATES

    11 ай бұрын

    Hi SaiKumar, you should update ST Link drivers right from STM32CubeIDE Software. I suggest you to find tab HELP and then choose ST-LINK Upgrade. This opens up dialog box there it automatically select latest drivers and just hit UPGRADE button. And you're done. I hope this will find useful to upgrade firmware for STM32 Microcontroller board. Good luck and best wishes!

  • @bhupendersingh2604
    @bhupendersingh260411 ай бұрын

    I have one doubt here Use are using int data type to store string

  • @BINARYUPDATES

    @BINARYUPDATES

    11 ай бұрын

    Hi Bhupender, In this example I've covered to sending string over UART. And used integer variable. You can also consider using char for storing characters. As in the end, string is made up of characters. The code makes easy with int as it shown. its all depends on use case. Wish you good time!

  • @karthikrr1545
    @karthikrr154511 ай бұрын

    How to set baud rate for Rx function

  • @BINARYUPDATES

    @BINARYUPDATES

    11 ай бұрын

    Hi Karthik, I suggest setting up the baud rate while configuring UART peripheral in STM32CubeIDE. This can be a process while creating new STM32 project. And also when we configure peripherals. The baud rate for transmission and receiving would be same. I hope this may be useful. Good luck and best wishes!

  • @davinlim5326
    @davinlim53269 ай бұрын

    My STlink does not has COM. how could I fix that.

  • @macitizm

    @macitizm

    9 ай бұрын

    i have same problem. if you solve that please commend me

  • @BINARYUPDATES

    @BINARYUPDATES

    9 ай бұрын

    Please make sure ST-Link drivers are installed properly while installing STM32Cube IDE. Otherwise you can manually install or upgrade drivers from IDE. Just go to Help in top menu bar and then select "STLink Upgrade". And then select right version and upgrade. I hope this may resolve issue.Otherwise just reinstall IDE. Good luck and best wishes!

  • @logeshwersp5420
    @logeshwersp5420 Жыл бұрын

    I am unable to see any messaged in putty

  • @BINARYUPDATES

    @BINARYUPDATES

    Жыл бұрын

    Hi, please check your PuTTY configuration especially Baud Rate settings. Wish you good luck and best wishes!

  • @shahafyehuda472

    @shahafyehuda472

    7 ай бұрын

    me neither, did you figure this out?

Келесі